Presentation is loading. Please wait.

Presentation is loading. Please wait.

By Matt Deakyne, Adam Krasny, and Derek Meek. History of ICE ICE stands for Internet Communications Engine Object-oriented middleware allowed programmers.

Similar presentations


Presentation on theme: "By Matt Deakyne, Adam Krasny, and Derek Meek. History of ICE ICE stands for Internet Communications Engine Object-oriented middleware allowed programmers."— Presentation transcript:

1 By Matt Deakyne, Adam Krasny, and Derek Meek

2 History of ICE ICE stands for Internet Communications Engine Object-oriented middleware allowed programmers to build distributed applications without having to be a networking guru Middleware before ICE.NET Java RMI CORBA SOAP

3 Disadvantages of other options.Net – only supports a few languages Java RMI – only for Java CORBA – unnecessarily complex SOAP – inefficient, unsecured

4 Goals of ICE Object-oriented middleware Features that support development of realistic distributed applications Avoid unnecessary complexity Efficiency in bandwidth, memory use, and CPU overhead Built-in security

5 Goals of ICE Summary: “Let’s build a middleware platform that is more powerful than CORBA, without making all of CORBA’s mistakes.”

6 Advantages of ICE Independent of Machine, Language, Operating System, Implementation and Transport Supports threading, multiple interfaces, and synchronous/asynchronous messaging Available source code

7 How ICE works Uses slice (specification language for ICE) to describe the types and object interfaces used by an application Description independent of implementation Uses compliers to generate code in specific language C++, Java, C#, Python, Ruby, PHP Purely declarative language

8 How ICE works (cont’d) Generates Client and Server Can be implemented in two different languages Communicate through slice definitions Can pass objects and make calls on each other

9 How we used ICE Need ICE to integrate three main elements CRM Database Database in MySQL Tracking Service Java Optimization Engine Java

10 Short-Term Goals Automatic updating to the CRM upon delivery Automatic recalculation of routes with new orders Web service allowing customers track order status

11 CRM Database Accessed through web server when customers place orders, view current delivery status Allow tracking service to update delivery status Allow optimization engine to obtain new orders Allow optimization engine to post optimal routes

12 Optimization Engine Reorganizes orders for maximum efficiency Needs to obtain new orders from CRM Needs to obtain current routes from tracking service Post routes back to tracking service

13 Tracking Service Knows where all trucks are at all times Post new routes from optimization engine Send current routes to optimization engine Send delivery notification to CRM Database

14 Consistent Data Types ICE enforced data type coherency between platforms ICE run time converted abstract definitions into concrete types

15 Overview of Application

16 Long-Term Goals Allow customers to place track orders online Client auctions, bid for shipment

17 Conclusion ICE is aggressively expanding Support of PHP, Python, Ruby makes it unique Very powerful, yet simple


Download ppt "By Matt Deakyne, Adam Krasny, and Derek Meek. History of ICE ICE stands for Internet Communications Engine Object-oriented middleware allowed programmers."

Similar presentations


Ads by Google