130 likes | 260 Views
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
E N D
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 • 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
Ice Architecture Very similar to CORBA Exercise: what are the differences
Slice • Structured Language for Ice • Similar to CORBA IDL • Introduces the “class” construct
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?
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
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