1 / 13

TIMICO

TIMICO. Introduction to ICE. Agenda. To provide an example of a non-standards driven and single vendor controlled middleware technology and discuss pro’s and con’s of this approach. What is Ice?. An object-oriented distributed middleware platform. object-oriented RPC mechanism

dena
Download Presentation

TIMICO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TIMICO Introduction to ICE

  2. Agenda To provide an example of a non-standards driven and single vendor controlled middleware technology and discuss pro’s and con’s of this approach

  3. What is Ice? • An object-oriented distributed middleware platform. • object-oriented RPC mechanism • language-neutral specification language (Slice) • language mappings for various languages: C++, Java, C#, Python, Objective-C, Ruby and PHP (Ruby and PHP for the client-side only) • support for Windows, Android, Linux, iOS, and many others • support for different transports (TCP, SSL, UDP) • external services (server activation, naming, events, firewall traversal) • integrated persistence (Freeze) • threading support • source code available

  4. Ice Architecture Very similar to CORBA Exercise: what are the differences

  5. Single-Language Development

  6. Cross-Language Development

  7. Slice • Structured Language for Ice • Similar to CORBA IDL • Introduces the “class” construct

  8. Server Implementation

  9. Server boot-strapping

  10. Writing a Client

  11. Exercise 1: IDL (15 minutes) • Create an IDL for an ER system: • Should be able to report: • Systolic blood pressure (int32) • Diastolic blood pressure (int32) • Heart Rate/Pulse(int32) • Saturation (int32) • Given a PatientID (string) sensor clients should be able to store healthcare data on a server • It should be possible to query all data on a patient given the PatientID • It should be possible to subscribe to alerts, e.g. a given PatientID reading dropping below Systolic 100, and Saturation below 90. • Make a UML deployment diagram sketch of the system • Consider how a C++ client, C# client, and Java server can interoperate • Which technologies could be useful here? • How is this exercise different from the CORBA Exercise 2?

  12. Ice Services Ice provides a number of services: • Persistence service (Freeze) • Replication, load balancing, server activation service (IceGrid) • Application server (IceBox) • Publish–subscribe service (IceStorm) • Software distribution and patching service (IcePatch2) • Firewall traversal and session management (Glacier2) • Freeze is a library; the other services are implemented as stand-alone processes. • Compared to CORBA services – there are no compatibility problems across platforms • Do not have to combine services from different vendors • However: no choice of changing vendor

  13. Exercise 2: Comparison (20 min) • There might be an exam question relating to this • Discuss • The pro’s and con’s of CORBA vs ICE • Consider how long it took to solve CORBA Exercise 1 • Of standard-driven vs single-vendor middleware • Provide examples of other standard-driven and single-vendor middlewares • Why is democracy difficult`? Ps. If you have not read the Michi Henning article - do it know: http://delivery.acm.org/10.1145/1150000/1142044/p28-henning.pdf?ip=94.18.237.37&acc=OPEN&CFID=55516271&CFTOKEN=99084808&__acm__=1322471166_dccb4a46e31b096f5406fe12488550be

More Related