platforms and tools for web services and mobile applications future
Post on 20-Jan-2016
22 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
Platforms and tools for Web Services and Mobile Applications
FUTURE
Bent Thomsen
Aalborg University
3rd and 4th of June 2004
2
Services on Demand Vision
Revolutionary new business methods
Unlimited choice
Individual is King
+ interactivity
Cheap, Faster, Global Networking via
Internet
Cheap, Faster Processing
Converged Networks / Broadcast
Interactive Digital Content
Array of Access Devices
=
But how to build this vision?
3
The Answer is: Web Services
• A Web service is like a Web site without a user interface, that serves programs instead of people.
• Instead of getting requests from browsers and returning web pages in response, a web service:– receives a request formatted in XML from an application, – performs a task, – and returns an XML-formatted response.
• Web Services are delivered using open industry standards– Services to be described in WSDL– Services to located via UDDI– Data to be exchanged via XML– Protocols are HTTP and SOAP
• BUT Back-end systems still need to be developed!
4
The basic problem ...• If you have software components ...
• ... and they shall work together in the same transaction• ... and they shall have the same security boundaries• ... and they shall share the same session state• ... and they shall be remotely accessible• ... and they shall not suffer from code overload
• Then you must have ...• ... an infrastructure that hosts such components for
secure remote and local access• ... an infrastructure that manages transactions• ... an infrastructure that hides infrastructure code
• The answer is: • Applications on Application Servers• Implemented in an Enterprise Solution Framework
5
Sun One Architecture
Support major standards initiatives such as XML, SOAP,
UDDI, WDSL and … to make it ready for developers who
want to take advantage of the Services on Demand vision
6
Microsoft’s .NET
Support major standards initiatives such as XML, SOAP,
UDDI, WDSL and … to make it ready for developers who
want to take advantage of the Services on Demand vision
7
What is Microsoft .Net?
• It is a vision– The platform for the digital future– ‘.NET is Microsoft’s platform for a new computing model
built around XML Web Services’Microsoft Corporation Annual Report, 2001
• It is a brand name– Applied to many things
• It is a set of products and technologies– Infrastructure– Tools– Servers– Services
• .Net is Microsoft’s core business Strategy
8
.NET Technologies
• The .NET Framework– The CLR with support for XML Web services and more
– Supporting Visual Basic.NET, C#, C++, and more
• The .Net development tools– Visual Studio.Net
• The .NET Enterprise Servers– BizTalk Server 2003, SQL Server 2003, Commerce Server 2003 and
more
• The .Net Services– Passport, My Services, bCentral, expedia and more
9
What is Java?
• The Java programming language– Took the world by storm in 1995 when introduced with the
HotJava web Browser
– Quickly integrated with Netscape browser
– Now in Version 1.4
– Coming soon Version 1.5
• The Java Virtual Machine (JVM)– Now comes in many different flavours
10
J2EE – Enterprise Java
• J2EE: Java 2 Enterprise Edition– Superset of Java 2 Standard Edition (J2SE)
– Adds enterprise features to Java Libraries
• Defined through the Java Community Process (JCP)– plus whatever Sun sees fit, Sun has last word
– Sun writes almost all specs and other contribute
– Submitters essentially surrender all rights to Sun
• Wholly owned property of Sun Microsystems– Licensing controlled by Sun, by Sun's rules
– JCP Broadens Sun's architect's base
11
Enterprise Java
• J2EE (1.4+) is an infrastructure specification for:– Components ("Beans")– Data Source Connectivity– XML and Messaging– Web Pages and Web Services
• Implemented by: Sun, IBM, BEA, Oracle, etc.– IBM WebSphere (37% market share 2002/33% 2000)– BEA WebLogic (29% MS 2002/59% 2000)– SUN iPlanet (4% MS 2002/3% 2000)– Oracle Application Server 9i– Fujitsu Interstage– …
• All vendors implement core specification, but:– Some areas in J2EE are (intentionally) not specified– The more specific a functionality the more proprietary the implementation gets
Numbers from the web, allegedly originally from Gartner DataQuest
12
A typical .NET Enterprise Solution
SQLServer
IIS on W2k Server
.NET managed
componentASP.NET
WindowsClient
Browser
13
A typical J2EE Enterprise Solution
DB Server
Java App Server
EJBServlet
JSP
Java Client
Browser
14
J2EE Solutions vs Microsoft .Net Solutions
– Both multi-tiered, similar computing technologies– Both support “standards”– Both offer different tools & ways to achieve the same
goal. – A lot of parallelism can be seen.– Very difficult to compare and qualify the comparison
because each has its own advantages & disadvantages.
15
The TMC Petshop Performance Case Study
• Java Pet Store is Sun’s primary blueprint application for J2EE• The .NET Petshop is a port of the J2EE Java Pet Store to .NET• In the TMC Petshop Performance Case Study, The Middleware
Company implemented both the Java Pet Store and the .Net Petshop
• First version showed .Net 28 times faster than J2EE• Second version showed some J2EE implementation equal .Net• Second version is a testimony to performance tuning
16
What do these comparisons tell us?
• It is very difficult to make such comparisons• That .Net has gained maturity extremely fast• That the two frameworks are very similar• You will not be sacked for choosing the right J2EE
application server ;-)• The Devil is in the detail
– C# is not Java
– ADO.NET is not JDBC
– CLR is not JVM
17
J2EE 1.5
• J2EE (1.5) preview of 26.4.2004– Focus on ease of development
• Generics and metadata as in J2SE 1.5 (more like C#)
• Java Studio Creator tool (in beta from April 2004) (more like Visual Studio .Net)
– Timeframe
• To be discussed at JavaOne in June
• Finalized in approximately one year
– IBM push for truly open source Java
– Others hesitate (even Open Source JBoss)
18
What about mobile?
• Web Services are fine as n-tier applications with UI provided through browser, but …
• On mobile devices WAP hasn’t really caught on• Even iMode hasn’t caught on in Europe • xHTML is looking promising though• Renewed Thin/Thick client discussion• Java applications on Mobile devices are reasonably
successful• Now Microsoft is moving fast into the field with .Net
Compact Framework
19
Two Devices
Nokia 6600 Orange SPV E200
20
Two Devices
Motorola V525 Motorola MPx200
21
Two Devices
22
Building Mobile Solutions is harder
• Mobile device– Software infrastructure, hardware requirements
• Communication technology– On-/Offline scenario– Wireless Wide Area Networks/ Wireless Local Area Networks– Communication protocol
• Application architecture scenario– Thin/fat client
• Data management– Synchronisation– On-/offline capabilities
• Security issues– Dangers for mobile devices– Threats of communication technology– Danger of exposing enterprise data
23
Therefore ...
• Java 2 Micro Edition (J2ME) is not ONE Java edition
• An J2ME compliant application consists of– Configuration
– Profile (e.g. Personal, Mobile Information Device Profile (MIDP))
– Application code
– Vendor specific UI
• 3 Contenders to compare– Java 2 Micro Edition – Connected Device Configuration (CDC)
– Java 2 Micro Edition – Connected Limited Device Configuration (CLDC)
– Microsoft .NET Compact Framework
The Java vs. Net discussion goes mobile
24
Student Project
• Group of Master Level Students (Hovedfag)– Bjørn D. Rasmussen
– Casper S. Jensen
– Jimmy Nielsen
– Lasse Jensen
• Collaboration with DEIF
• Project Goals– Build end-to-end mobile client, wireless, webservices based
application with back-end interface to SCADA
– In Java (J2ME/J2EE) and in .Net
– Compare the two solutions on a set of criteria
25
Basis of comparison
Objective measurements
• Lines of code
• Development tools
• Documentation
• Infrastructure
• Performance
• Architectural pattern
• Security
• Price
• Development time
Subjective measurements
• Developer satisfaction
• End-user satisfaction
26
DEIF M-Vision (SCADA up and running in 30 minutes)
27
SCADA on SmartPhones
28
Development tools and Documentation
• Server-side is well supported by both Java and .NET IDEs
• On the client-side .NET IDEs benefit from the fact that .NET CF is so close to .NET (With Java there are separate IDEs for desktop and mobile application development)
• Compatibility problems between Java vendors
• Java IDEs are slow!
• C# is a richer/more complex language than Java
• Both Java and .NET have well documented API
• Web service documentation– .NET - MSDN
– Java – Google
• Support for encryption of web services– .Net CF: HTTPS and SOAP extensions
– J2ME: HTTPS, but only in CDC & MIDP 2.0
29
Performance
• Server-side web service performance study with:– Microsoft Application Server (v. 5.1)
– Sun ONE Application Server (v. 7.0)
• Tested for:– Throughput
– Failure rate
– Average response time
30
Performance - Throughput
31
Performance – Average response time
32
Performance – Failure rate
33
Development time
• Slow start-up when developing in Java– Jungle of web service implementations
– IDE incompatibility problems
• Emulators
• kSOAP
• Trouble-free implementation in .NET
34
Subjective Measures
• Developer satisfaction– VS.NET integrates web service and mobile application
development far better than any Java IDE
– A subset of an API is a better solution for mobile devices instead of an entirely new API
• End-user satisfaction– DEIF would choose a .NET based solution since startup time
is very important
– DEIF only needs a limited number of IDE licenses
– Extra price for a SmartPhone 2003 is insignificant compared to the value it gives
– The SmartPhone 2003 is more ”fancy” than the Java phones
35
Students Conclusions
• We see .NET as a better designed framework because:– it eliminates the language barrier while also being platform
independent– it makes only little distinction between desktop and mobile
application development• Sun’s application server performance is very poor compared to
IIS.• License fees for a Java based solution are cheaper but .NET
might catch up when considering development time
• We tried a combined .NET and Java solution but this has shown to be very troublesome!
36
My conclusions
• The two worlds are becoming more and more similar– But it seems that you have to work harder in Java than in .Net
– .Net is currently driving technology transfer from Research to Product
• Windows generation at University now
• Watch-out in the mobile world• Vodafone to offer Microsoft Smart phones
– http://msmobiles.com/news.php/2504.html
– Fed-up with Nokia promoting own brand, rather than operator brand
37
To .Net or not to .NetChoosing between Java and .Net
• The ultimate choice usually depends not on technical superiority, but on:– cultural/”religious”/political preferences
– Customer preference
– Vendor relations
– Skill set of your developers
• You are most likely to be developing in both environments for the foreseeable future
• Look out for “The third way”– Linux, Apache, MySQL, PhP, …
38
Beyond the short term
• Will somebody come up with a killer application?• J2EE/J2ME or .Net/.Net CF are reasonably coherent,
but maybe we will see a completely new platform • Network operators seem reluctant to move to 3G• And what about 4G?
39
An example: Ericsson roadmap to 4G
Ericsson defines 4G very broadly as seamless mobility for the user + all possible new infrastructure technologies
40
The Internet
IP backbone
BillingVHE
Signalling Gateway
WAP Accounting
UMTS
Broadcast Networks (DAB, DVB-T)
Satellite FES
GSM / GPRS
Context-aware informationCentre
IP-based micro-mobility Wireless
LANs
ISPSIP Proxy Server
Inter-WorkingInter-Working
41
We talk about 4G today because the future is open
•The term 3G was coined at academic conferences around 1990. Then 3G meant everything beyond GSM
•One (dropped) 3G vision was mobility by wireless, + personal phone-numbers, following the individual globally at closest fixed line
•Later the ”1G”, ”2G”, ”3G” terminology was captured by equipment vendors in the mid 90s for selling UMTS to the market and regulators
Anybody remember the hype around 4G and 5G programming languages in the 80s ?
Will anybody talk about ”4G ” in 2010? I’m sceptical
42
Issue: How and When should firms make the shiftfrom the E-Business “S curve” to Mobile?
Next Innovation “S – Curve” - MobileCascading S-Curves
80’s 90’s 00
MainframeMinicomputer
(30 years)
WebE-commerceE-business(7+ years)
Time
% Adoption
PCClient-Server
(15 years)
GROWTH
MATURITY
INNOVATION
Mobile Solutions
Web Services(?)
05
43
Business Value, ROI and Application
Deployment Issues! Not Technology
Selling mobile technology hype
Selling unrealistic solutions e.g., m-commerce portals
Enterprise Customer
Focus
Mobile Vendor Focus
Vendors are ignoring customers demands: show me how to make or save money using mobile?
The Tale of Two Perspectives
44
Future Dreams anno 1993
top related