120 likes | 250 Views
Presentation 27: Comparison of technologies. Goals of this lesson. After this 1x35 lessons you will have Discussed the different Middleware technologies And be in a position to better decide when to use which technology. Outline. Discussion in plenum
E N D
Goals of this lesson • After this 1x35 lessons you will have • Discussed the different Middleware technologies • And be in a position to better decide when to use which technology
Outline • Discussion in plenum • Pro’s and Con’s of each Middleware technology • When to use which? • Important that you form your own opinion • Do NOT use mine • After discussion • 7 scenarios – when to use? You decide!
Discussion • Java RMI – Pro’s & Con’s • CORBA – Pro’s & Con’s • .NET Remoting – Pro’s & Con’s • Web Services (SOAP) – Pro’s & Con’s • DCOM - Pro’s & Con’s
7 scenarios • In the following I present 7 scenarios • It is up to you to decide which technology to use – and we may debate it during the presentation • I will come up with suggetions – but they may not be better than yours!
Scenario 1 • Server program to be written in Java and run on UNIX servers • Clients to run on primarely Windows machines – written in C++ • Clients communicate via LAN internally in the company • Which technology? • CORBA seems the most appropriate • SOAP could be considered – BUT IS LIGHT-WEIGHT COMPARED TO CORBA
Scenario 2 • Need for exposing a few data from an exsisting legacy application running on a UNIX platform which was written in Java • Data is to be delivered to several client programs running on different operating systems: Mac, Windows and Linux, and written in different programming languages – using uncontrolled firewalls in different locations • Many different small software companys are the targets, skills unknown • Which technology? • SOAP seems the most appropriate • CORBA could be considered
Scenario 3 • A system is being designed: • Server: Java program running on a UNIX server • Client: Java program running on Windows and LINUX • Client option: possible client J2ME on mobile phones • Which technology? • Java RMI seems the most appropriate • No support for RMI on J2ME yet • CORBA is possible – opening up for other clients • No CORBA support on J2ME yet • SOAP support for J2ME – kSOAP and WingFoot … • Would support other types of client in the future
Scenario 4 • A system is being designed: • Server running on a LINUX platform – Java language • Client – Windows XP PC written in C++ • Client – Windows CE Smartphone edition (C++) • Client – Symbian J2ME mobile phone • Client – LIAB (Linux in a Box) – optional • Problem: communicating via GSM – high latency • Which technology: • Maybe CORBA sounds best, but SOAP is the only supported by the Symbian J2ME (WingFoot, kSOAP) • SOAP Works on the .NET CF for SmartPhone!
Scenario 5 • A system is being designed: • Server running Windows 2000 written in C++ • Implementing accounting, employee records, planning scedules etc. • Planned clients include: • An accounting program written in Delphi • A phonebook program written in ASP.NET (VB Script) • An employee update & planning program written in C# • Which technology? • COM is obvious for the pure Microsoft platform • .NET Remoting is possible • CORBA is possible • SOAP is possible
Scenario 6 • A small company has just made a killer application offering other developers access to: • Searching the Web • Sending and recieving mails and SMS messages • All for free – using sponsporship as a sole income • They want other companys to incoporate the functions they have into their own programs – and devices • All kinds of technologies possible here!!! • Which technology? • SOAP is obviously suited for this. Every small company can integrate, and no trouble with firewalls!
Scenario 7 • A company has just made a networked temperature surveillance unit. Main core is a microprocessor with a socket and HTTP stack – and 16 KB of available memory • The unit is to plug-in into any conceivable type of data-collection system – amongst others ethernet-based PC-servers • First customer is using an existing CORBA-based PC server for management • What advice on middleware would you give them? • simple socket programming, TCP/UD, seems appropriate – no room for middleware, no need for middleware