Complexity Presentation
2 Agenda The Challenges of XML and Web Services Water and Steam XML Water Applications Customers Product Direction Summary Benefits About Clear Methods
3 Business Problems Complexity of Web services and XML –XML and Java require significant training –The approach of wizards and code generators creates more problems that it solves Desire to move to Service Oriented Architecture –but need good tool support Lack of shared meaning for data and process –data modeling tools lack completeness and full XML support Need to integrate legacy data and applications through XML
4 Steam XML Benefits Faster XML application development, more flexible implementation, easier customization –One simple, consistent object-oriented environment Lower deployment costs –Small teams with fewer required skills Better security –Object-oriented security, less complex environment
5 XML as the Common Syntax Overhead and complexity when working with XML Mismatch between programming logic and data –How many APIs between Java and XML? Lacking a single, uniform common language to express logic and data
6 Pure Web Services Water extends XML to programming –Executable and extensible markup language - XXML –Easier than Basic, but as powerful as Lisp –Build powerful, flexible abstractions Eliminate mismatch between data and logic –Multiple, incompatible APIs between Java and XML –Different object models, syntax, calling conventions, etc Designed for Web services -- not bolted on Pure Web services: everything is a Web service –Testing, debugging, documentation, deployment, logic
7 Complexity Applications Require Too Many Languages J2EE and.NET use more than a dozen languages Difficult to hire and train for multiple skill sets Costly: large teams required for delivery Unreliable: many moving parts are difficult to maintain Low productivity: extremely difficult to debug or test
8 Web Services Do Not Simplify Implementation Five new languages/standards needed for Web services Immature standards designed by different committees Version skew -- a dozen independent standards
9 Complexity Limits Automation Complexity affects security, productivity, reliability, cost, training, time to market, flexibility, ability to abstract and automate,...
10 Incremental: A Sip of Water Runs on industry standard platforms Uses only open protocols: HTTP, FTP, and SMTP Automatic support for WS-I standards: WSDL, UDDI, and SOAP Designed for content, logic, and presentation Water
11 The Steam Platform Platform Vendor Clear Methods Operating System All Runtime Engine Steam Engine Language Water Syntax ConciseXML Development Tools Steam IDE CICS API HostBridge Database API JDBC/Water J2EE.NET Sun, BEA, IBMMicrosoft AllWindows JVMCLR JavaC#C++ syntax JBuilder, etc.Visual Studio JDBC, SQL/JADO.NET VariousHost Integ. Server
12 Water Language Features Easy to use –XML/HTML-based syntax –Quick edit/run/debug cycles –Instant syntax checking Powerful object system –Any object can be treated as a class or an instance (or both) –On-the-fly changing of the parent of an object to have dynamic inheritance –Multiple inheritance Strong, flexible security –Capability-based security model –Simple yet effective in keeping programs running on a single JVM isolated New high level of maintainability
13 Water Language Features, cont. Maintainability features –Add arguments to methods without breaking existing calls –Add additional instance variables to already-created instances –Add methods to existing classes without requiring the classs source code for recompiling Flexible method calling –Optional parameters with default values –Arguments passed by keyword or position –Unlimited number of parameters possible via rest parameter –Content parameter for particularly large arguments –Execution kind settable per parameter, allowing different kinds of evaluation per argument including none –Type declaration is optional on per-parameter basis
14 Steam XML IDE Screen Object Inspector Window Double-click feature highlights expressions XML View HTML Preview Program step control Right-click options Code View Window
15 Water Applications Modeling and simulation –speed the testing of complex systems and networks –simulators are written in Water to fill the roles of modules still in development –OPM example Expressing new industry standards in XML –Example: SMI-S Embedded control with Web services capabilities –Example: Pratt and Whitney portable engine test and maintenance stations Complex business or marketing systems Meta language for OEMs Integration framework –Example: JSB-style complex system simulation
16 If Water did not exist, we would have to invent it "Water and Steam have allowed us to consolidate multiple code-generating layers into a single systems architecture that is powerful, adaptable and user-friendly." Customers Steam benefit: 2 man-months vs. 2 man-years to develop US Air Force Joint Synthetic Battlespace The Living Center interactive simulation for Alzheimers patients. General DynamicsQuantum Books
17 Summary: Steam XML Benefits Faster development, more flexible implementations, easier customization –One simple, consistent object-oriented environment Lower deployment costs –Small teams with fewer required skills Better security –Object-oriented security, less complex environment
18 Clear Methods Mission To provide enterprises and ISVs with advanced Web services technology and solutions that dramatically speed the creation of flexible business software Founded 2001 Team from Bowstreet, MIT Advisory board members Michael Cusumano, Henry Lieberman, Jason Bluming, Harvey and Paul Deitel Funding from Draper Fisher Jurvetson Steam XML software first deployed March, 2002