1 / 17

ICE

ICE. By Matt Deakyne , Adam Krasny , and Derek Meek. 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.

galia
Download Presentation

ICE

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. ICE 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

More Related