CS526 George E. Turner Spring 2009. Current Implementation  Four standard methods used to manipulate complex types in SOAP o Create o Read o Update o.

Slides:



Advertisements
Similar presentations
HL7 V2 Conformance Testing Robert Snelick NIST January 20 th, 2004
Advertisements

Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
From XML to Database And Back Rob Ratcliff. Single Source Modeling The data model and persistence scheme described in one place – the XML Schema in this.
And so to Code. Forward, Reverse, and Round-Trip Engineering Forward Engineering Reverse Engineering Round-Trip Engineering.
Mutability SWE 332 Fall 2011 Paul Ammann. SWE 3322 Data Abstraction Operation Categories Creators Create objects of a data abstraction Producers Create.
MapleLeaf, LLC SDLC Methodology. MapleLeaf, LLC, has established standard phases and processes in regards to project management methodologies for planning.
Draft-lemonade-imap-submit-01.txt “Forward without Download” Allow IMAP client to include previously- received message (or parts) in or as new message.
Overview of Kuali Student Technical Architecture Kuali Days :: Chicago May 13-14, 2008.
Exchange Network Key Management Services A Security Component February 28, 2005 The Exchange Network Node Mentoring Workshop.
More sophisticated behaviour Using library classes to implement some more advanced functionality.
Templates. January 6, Step 1: Activity Template An activity is a task that requires a single submission. Multiple activities may be combined into.
Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.
Recommendation: Play the game and attempt to answer the questions yourself without looking at the answers. You’ll learn much less if you just look at the.
Intro to Programming Java Web Services using the Java TM API for XMLWeb Services (JAX-WS) Bill Champlin UCCS / CS526 Spring ‘09.
CS 898N – Advanced World Wide Web Technologies Lecture 22: Applying XML Chin-Chih Chang
Learning Information Services Exchanging Data Between Enterprise Systems.
Rice KRAD Data Layer JPA Design Eric Westfall July 2013.
CSE446 S OFTWARE Q UALITY M ANAGEMENT Spring 2014 Yazılım ve Uyguluma Geliştirme Yöneticisi Orhan Başar Evren.
Supervisor: Victor Kulikov Oded Duek Aviv Grinblat Final presentation Spring 2010.
Apache Chemistry face-to-face meeting April 2010.
1 Lecture 22 George Koutsogiannakis Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
Spring Overview, Application demo -Midhila Paineni 09/23/2011 Spring Overview, Application demo9/8/20151.
Agenda What is Hibernate Spring Integration Questions Overview
CS 157B: Database Management Systems II February 27 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron.
IBM Research © 2005 IBM Corporation XJ: Robust XML Processing in Java™ Mukund Raghavachari, Rajesh Bordawekar, Michael Burke, and Igor Peshansky IBM T.
Lecture Objectives To understand how Java implements a stack To learn how to implement a stack using an underlying array or linked list Implement a simple.
LexEVS 6.0 Overview Scott Bauer Mayo Clinic Rochester, Minnesota February 2011.
IS-907 Java EE JPA: Simple Object-Relational Mapping.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CSCI 6962: Server-side Design and Programming Web Services.
I # C * CELLPHONE SHOPPER Project Proposal Graham Hunter | Marc Pelteret | Tshifhiwa Ramuhaheli Supervisor: Hussein Suleman 11 May.
I # C * CELLPHONE SHOPPER Project Proposal Graham Hunter | Marc Pelteret | Tshifhiwa Ramuhaheli Supervisor: Hussein Suleman 11 May.
Web Services: WSDL. Kas ir WSDL? Pirms izmantot SOAP ar konkrēto servisu ir jāzina kādai jābūt SOAP ziņojuma struktūrai kuru protokolu izmantot (HTTP,
Dali JPA Tools. About Dali Dali JPA Tools is an Eclipse Web Tools Platform sub-Project Dali 1.0 is a part of WTP 2.0 Europa coordinated release Goal -
Java SE 6 Retooled for Web Services Mihail Stoynov mihail.stoynov.com mihail.stoynov.com.
ALMA Integrated Computing Team Coordination & Planning Meeting #1 Santiago, April 2013 Relational APDM & Relational ASDM models effort done in online.
Android Storage. There are several options for storage of data with Android We can put data into a preferences file. We can put data into a ‘normal’ file.
MD – Object Model Domain eSales Checker Presentation Régis Elling 26 th October 2005.
1 WSDL Tutorial Heather Kreger (borrowed from Peter Brittenham) Web Services Architect IBM Emerging Technologies.
Oct * Brad Tutterow. VS 2008.NET 3.5LINQ Entity Framework  The ADO.NET Entity Framework is part of Microsoft’s next generation of.NET technologies.
CCSDS Meeting CNES Report, 05/12/2004 CNES 1 CCSDS - MOIMS Area Information Packaging and Registry WG CNES Report on activity November April 2005.
Web Services (SOAP) part 1 Eriq Muhammad Adams J |
XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer.
MCS 270 Spring 2014 Object-Oriented Software Development.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
COP INTERMEDIATE JAVA Designing Classes. Class Template or blueprint for creating objects. Their definition includes the list of properties (fields)
Summary Report Project Name: Infoway Message Builder API Brief Project Description: Develop API componenet that obscure complexity for implementation of.
KEW Definitions Document Type The Document Type defines the routing definition and other properties for a set of documents. Each document is an instance.
May 24, 2004IVOA Interop Meeting1 An AXIS-based Java SkyNode Ramon Williamson NCSA T HE US N ATIONAL V IRTUAL O BSERVATORY.
CodeBreaker Decentralized, cooperative and flexible support for extreme programming software development Nelson Baloian Roberto Konow Francisco Claude.
Java Projections in SDO 3.0 First Draft Ron Barack.
Summary Report Project Name: Infoway Message Builder API Brief Project Description: Intended to simplify the implementation of HL7 v3 messaging –Simulation.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
IS-907 Java EE Introduction to JPA. Java Persistence API A framework for using relational databases in Java programs mapping between tables and classes,
YG - CS Concept of Encapsulation What is encapsulation? - data and functions/methods are packaged together in the class normally.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
EBay Searcher Brian Payton, Jason Nowakoski, Justin Szeluga, Salvatore Siragusa, David Wolkiser.
Lecture 5 Data Model Design Jeffery S. Horsburgh Hydroinformatics Fall 2012 This work was funded by National Science Foundation Grant EPS
Summary Report Project Name: Infoway Message Builder API Brief Project Description: Intended to simplify the implementation of HL7 v3 messaging –Simulation.
The Java API for XML-Based Web Services. A Web Service example in Java SOAP-awareServlet (e.g. Apache Axis2) SOAP-awareServlet Any class processing the.
CS520 Web Programming Introduction to Web Services Chengyu Sun California State University, Los Angeles.
More Sophisticated Behavior
Web Routing Designing an Interface
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004

Towards Automatic Model Synchronization from Model Transformation

How to organize and document your classes
Podcast Ch20b Title: TreeMap Design
Presentation transcript:

CS526 George E. Turner Spring 2009

Current Implementation  Four standard methods used to manipulate complex types in SOAP o Create o Read o Update o Delete

 The Update method is extremely inefficient o Comparison to current data to determine “What’s changed?” o Bandwidth is abused when only updating a single field “Why send data that isn’t different?” o Requires a separate method for every field “Additional code to support each new method”

Proposal  Create a single update method to update ANY field or child object

 The QName classname value defines what is being updated  Fully qualified description of the top level object  Example: shop:ShoppingCart (namespace:localPart)  The String xpathValue defines the keys to distinguish the part to update  key=value[ …][ / attribute:key=value[ …]]  Example: id=12345/Item:id=3

 The any is the new value, ANY valid XML  Example: Pork  Full SOAP Example <soapenv:Envelope xmlns:soapenv=" xmlns:urn="urn:UpdateService:Operations" xmlns:shop="urn:UpdateService:Shopping"> shop:ShoppingCart id=12345/Item:id=3 Pork

 This solution uses a combination of o Java Persistence API (JPA) o Java Reflection o Modifications to generated JAXB public class ObjectFactory { private final static QName _ShoppingCart_QNAME = new QName("urn:UpdateService:Shopping", "ShoppingCart"); private final static QName _OrderItem_QNAME = new QName("urn:UpdateService:Shopping", "OrderItem"); 

New Code private static final Map QNAME_CLASS_MAP; static { Map tmp = new HashMap (2); tmp.put(_ShoppingCart_QNAME, ShoppingCartType.class); tmp.put(_OrderItem_QNAME, OrderItemType.class); QNAME_CLASS_MAP = Collections.unmodifiableMap(tmp); } public Class getClass(QName qname) { return QNAME_CLASS_MAP.get(qname); }

Conclusion  This prototype is not the final solution  A Document Object Model solution may be easier  Changes to the generated JAXB classes are required  Submission to W3C for acceptance and inclusion into milestone releases and specification

References:  JAXB – Reference Implementation –  JAXWS – Reference Implementation –  METRO – Reference Implementation –  JPA - Persistence API -