Præsentationer af emnet: "Presentation 27: Comparison of technologies Objektorienteret Middleware."— Præsentationens transcript:
Presentation 27: Comparison of technologies Objektorienteret Middleware
Goals of this lesson After this 2x35 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!
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 – JSR172, kSOAP, WingFoot Would support other types of clients 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 (JSR172, 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 FPGA CORBA?
Læringsmål Alignment Når kurset er færdigt forventes den studerende at kunne: Definere, beskrive og sammenligne forskellige typer af objektorienterede middleware frameworks til apparater og computere, med primær fokus på CORBA og sekundært.NET Remoting teknologierne, herunder fordele og ulemper forbundet med de forskellige teknologier Definere og beskrive principper omkring transparens og heterogenitet i relation til middlewareteknologier Definere og beskrive gængse teorier, metoder og retningslinier indenfor det objektorienterede middleware paradigme og anvende disse til at designe effektive distribuerede systemer Designe og konstruere et distribueret system der gør brug af CORBA og.NET Remoting teknologierne med tilhørende værktøjssupport Dette handler om den ufatteligt centrale ingeniør disciplin om at kunne analysere sig frem til den rigtige teknologi til at løse problemet Dette handler om den ufatteligt centrale ingeniør disciplin om at kunne analysere sig frem til den rigtige teknologi til at løse problemet