SIF3: First Consumer - Java

Slides:



Advertisements
Similar presentations
Operating-System Structures
Advertisements

Presented by: AU Assets Evolution of the SIF Common Framework Joerg Huber.
The map and reduce functions in MapReduce are easy to test in isolation, which is a consequence of their functional style. For known inputs, they produce.
Presented by: SIF 3.0 Concepts DSWG August 2013 Joerg Huber.
Presented by: SIF 3.0 REST Framework Melbourne Developer’s Workshop November 2013 Joerg Huber.
Apache Struts Technology
Presented by: SIF3: First Consumer - Java Joerg Huber SIF3 Consumer: Get Students Exercise.
Presented by: SIF 3.0 REST URL Structure Components of the SIF3 REST URL Joerg Huber.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Presented by: SIF3 REST Framework Joerg Huber Open-Source SIF3 Development Framework Developed by Systemic Pty Ltd Sponsored by.
CSCI 639 Topics in Software Engineering Assignment #4 Fall 2006.
Session-02. Index. Jsp in Struts 2 Web.xml File in Struts 2.
Java and C++, The Difference An introduction Unit - 00.
Pc Naming Configuration 1.WEB REGISTER 2.FIXNAME 3.MCAFEE AGENT SETUP ITC Training: Session 2.
Remote Unit Testing Milestone III Alex Riordan Brian Pruitt-Goddard.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
Presented by: SIF3: Provider Exercise - Java Joerg Huber SIF3 Provider Exercise: SchoolInfo Provider.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
ANDROID CONTENT PROVIDERS Peter Liu School of ICT, Seneca College.
Presented by: SIF 3.0 Concepts SIF 3.x Concepts & Terms Joerg Huber.
Prerequisite Checker Neeharika Bollepalli Masters Report, Final Defense Guidance by Dr. Dan Andresen.
Design Patterns Part two. Structural Patterns Concerned with how classes and objects are composed to form larger structures Concerned with how classes.
Presented by: SIF3: Providers Joerg Huber SIF3 Providers: Source of Truth.
Exploring an Open Source Automation Framework Implementation.
Presented by: SIF3 Framework Install - Java Joerg Huber Install & Verify Instructions and Exercise.
JDBC Java and Databases. RHS – SOC 2 JDBC JDBC – Java DataBase Connectivity An API (i.e. a set of classes and methods), for working with databases in.
Presented by: SIF3: Events Joerg Huber SIF3 Events & Live Demo.
Connect. Communicate. Collaborate PerfsonarUI plug-in tutorial Nina Jeliazkova ISTF, Bulgaria.
ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)
Implementation of EIDE Gateway using ACES Callouts WECC DEWG EIDE Training.
Presented by: SIF 3.0 Environment Management Consumer Environments Direct Environments Java Joerg Huber.
CS170 ygao JAVA, C4Slide 1. CS170 ygao JAVA, C4Slide 2.
Presented by: SIF 3.0 Environments, Zones & Contexts Environments, Zones, Contexts and their Relationship Joerg Huber.
Copyright © 2007 InSTech Joint Laboratory All rights reserved. 1 Consideration on Persistence of WiseMan FuDan-Hitachi InSTech (Innovative Software Technology)
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Presented by: SIF3: Multi-Object CRUD Joerg Huber SIF3 Consumer: Multi-Object CRUD Exercise.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS Jan Control System Studio Training - Extension Points:
Institute for the Protection and Security of the Citizen HAZAS – Hazard Assessment ECCAIRS Technical Course Provided by the Joint Research Centre - Ispra.
ODATA DESIGN PRINCIPLES July 26, BUILD ON HTTP, REST OData is a RESTful HTTP Protocol Build on HTTP Entities modeled as Resources Relationships.
Chapter 3 Part II. 3.8 Placing a Class in a Separate File for Reusability.cpp file is known as a source-code file. Header files ◦ Separate files in which.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
Building KFS using KNS Presented by James SmithJustin Beltran University of ArizonaUniversity of California, Irvine.
Event Sources and Realtime Actions
Graphical Data Engineering
Mobile Applications (Android Programming)
Names and Attributes Names are a key programming language feature
What’s new in the SIF3 World?
MVC Architecture, Symfony Framework for PHP Web Apps
Oracle Subledger Accounting
Writing simple Java Web Services using Eclipse
Viewbiquity HTML5 Tom Shafron Developer’s Blog CEO, Viewbiquity
Chapter 2: System Structures
SIF 3.0 Concepts Workshop Idea13 Joerg Huber.
Service Paths & Query By Example (QBE): Query Mechanism
HMA Follow On Activities
Encapsulation & Visibility Modifiers
Chapter 2: System Structures
SIF 3.x Concepts & Terms, xPress & RicOne API
Packages and Interfaces
The Model Layer What is Model?
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Service Paths & Query By Example (QBE): Query Mechanism
SIF3: Provider Exercise - Java
Health & Consumers DG SANCO Unit A.4 Information systems
Implementation of EIDE Gateway using ACES Callouts
SIF 3.0 Concepts SIF 3.x Concepts & Terms Joerg Huber.
SIF3 REST Framework Open-Source SIF3 Development Framework
Introduction to Classes and Objects
Presentation transcript:

SIF3: First Consumer - Java SIF3 Consumer: Get Students Exercise Joerg Huber

How to develop a Consumer What is a Consumer Initial Considerations Data Model Classes Consumer Classes Steps developing a consumer Get Student & Get Students Exercise Develop Basic Consumer and Run it… Ensure Demo Provider returns data Training Course SIF3: First Consumer January 19

What is a Consumer A Client in the traditional sense. Can be standalone executable or part of a larger web- and/or mobile application. It typically requests CRUD operations: Create, Read/Get, Update & Delete Objects (i.e. Students) It can subscribe to Events if events are supported by the provider of data. A consumer is not considered the “source of truth”, meaning CRUD requests might be rejected by the provider! Training Course SIF3: First Consumer January 19

Initial Considerations What Data Model to use (i.e. SIF NA 3.3)? What SIF Objects do I need to deal with? What CRUD request do I need to deal with? Do I need to deal with SIF Events? Most likely only available in brokered environment Might be shown during this training course as part of a Live Demo. Are delayed request/responses required? Outside the scope of this training Training Course SIF3: First Consumer January 19

Data Model Classes The SIF3 Framework has a library with the SIF NA 3.3 data model (sifDataModel_us3.3.jar). Generated based on SIF NA 3.3 XSD. Has methods to marshal/unmarshal to/from XML Classes are named as the SIF Object: Single Student: XStudentType Student List: XStudentCollectionType If another data model is required you can: Generate it using the data model’s XSD if available. Manually develop it. Get hold of 3rd party library that encapsulates the data model. Ensure marshal/unmarshal to/from XML is available or you need to implement this. Training Course SIF3: First Consumer January 19

Core Consumer Classes The following is a list of core classes required for developing a consumer. Details will follow as part of the exercise. ConsumerLoader initialise: Initialises a Consumer and allocates resources shutdown: Releases resources allocated with consumer. AbstractConsumer (CRUD) or AbstractEventConsumer (CRUD & Events) Each SIF Object used in the final consumer must extend one of these two classes. Forces a number of methods to be implemented Training Course SIF3: First Consumer January 19

Steps developing a consumer For each SIF Object used in the consumer write a separate class extending AbstractConsumer or AbstractEventConsumer Implement abstract and/or interface methods Link marshal/unmarshal with consumer Ensures that SIF3 Framework produces correct XML Use DataModelUnmarshalFactory & DataModelMarshalFactory from sifDataModel_us3.3.jar! Link SIF Object Class with each consumer Implement getSingleObjectClassInfo and getMultiObjectClassInfo methods to return appropriate ModelObjectInfo (see demo code) Use predefined constants Training Course SIF3: First Consumer January 19

Steps developing a consumer (cont.) Configure the following in the consumer.properties file: List each consumer class as a comma separated list in the “consumer.classes” property Set the package name of the consumer classes in the “consumer.basePackageName” property. As part of this training most of the above should be pre-set. Refer to Developer’s Guide for much more details on how to develop a consumer. Training Course SIF3: First Consumer January 19

Exercise – xStudent Consumer As part of this exercise we only use AbstractConsumer (we don’t do events) Implement StudentConsumer in sif3demo.consumer package Note what class it extends! Note it only requires methods related to data model and mapping to internal model classes. Implement DemoConsumer (executable) in sif3demo.service package: getStudent (get Single Students) getStudents(Get list of Students) Note where the ConsumerLoader methods are used. Also refer to javadoc of the SIF3 Framework for details about classes. Training Course SIF3: First Consumer January 19

Exercise – Run DemoConsumer Ensure your provider is running in your web- or application container. Ensure that the provider has loaded the students. At start-up you should see a log entry indicating 100 students are loaded. If not check weather the property provider.student.file.location in the provider.properties file points to a valid location. Within your IDE you should be able to run the DemoConsumer class. It is an executable. Observe the output on the command line… Training Course SIF3: First Consumer January 19