MR250 MEDICAL TRANSCRIPTION I Week 5 Instructor: Amber Krasny MBA, CPC, CMRS.
By Matt Deakyne, Adam Krasny, and Derek Meek. History of ICE ICE stands for Internet Communications...
-
Upload
dominick-payne -
Category
Documents
-
view
213 -
download
0
Transcript of By Matt Deakyne, Adam Krasny, and Derek Meek. History of ICE ICE stands for Internet Communications...
By Matt Deakyne, Adam Krasny, and Derek Meek
History of ICEICE stands for Internet Communications EngineObject-oriented middleware
allowed programmers to build distributed applications without having to be a networking guru
Middleware before ICE.NETJava RMICORBASOAP
Disadvantages of other options.Net – only supports a few languages
Java RMI – only for Java
CORBA – unnecessarily complex
SOAP – inefficient, unsecured
Goals of ICEObject-oriented middlewareFeatures that support development of
realistic distributed applicationsAvoid unnecessary complexityEfficiency in bandwidth, memory use, and
CPU overheadBuilt-in security
Goals of ICESummary:
“Let’s build a middleware platform that is more powerful than CORBA, without making all of CORBA’s mistakes.”
Advantages of ICEIndependent of Machine, Language,
Operating System, Implementation and Transport
Supports threading, multiple interfaces, and synchronous/asynchronous messaging
Available source code
How ICE worksUses slice (specification language for ICE) to
describe the types and object interfaces used by an applicationDescription independent of implementation
Uses compliers to generate code in specific language C++, Java, C#, Python, Ruby, PHP
Purely declarative language
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
How we used ICENeed ICE to integrate three main elements
CRM Database Database in MySQL
Tracking Service Java
Optimization Engine Java
Short-Term Goals
Automatic updating to the CRM upon delivery
Automatic recalculation of routes with new orders
Web service allowing customers track order status
CRM DatabaseAccessed through web server when
customers place orders, view current delivery statusAllow tracking service to update delivery status
Allow optimization engine to obtain new orders
Allow optimization engine to post optimal routes
Optimization EngineReorganizes 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
Tracking ServiceKnows 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
Consistent Data TypesICE enforced data type coherency between
platforms
ICE run time converted abstract definitions into concrete types
Overview of Application
Long-Term GoalsAllow customers to place track orders online
Client auctions, bid for shipment
ConclusionICE is aggressively expanding
Support of PHP, Python, Ruby makes it unique
Very powerful, yet simple