Architecting a Network-Centric M&S Application

Similar documents
Distributed Multitiered Application

(9A05803) WEB SERVICES (ELECTIVE - III)

IBM Rational Application Developer for WebSphere Software, Version 7.0

Advanced Lectures on knowledge Engineering

Appendix A - Glossary(of OO software term s)

Computational Web Portals. Tomasz Haupt Mississippi State University

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

Introduction to Web Services & SOA

Introduction to Web Services & SOA

Tools to Develop New Linux Applications

Introduction To Web Architecture

Developing Applications with Java EE 6 on WebLogic Server 12c

Oracle SOA Suite 10g: Services Orchestration

SERVICE-ORIENTED COMPUTING

Service-Oriented Architecture (SOA)

Service Oriented Architectures Visions Concepts Reality

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.

OpenESB Keh-Yoe Ong FAST (Field Assistance Support Team)

Deccansoft Software Services. J2EE Syllabus

Appendix C WORKSHOP. SYS-ED/ Computer Education Techniques, Inc.

International Journal of Advance Research in Engineering, Science & Technology. Study & Analysis of SOA based E-Learning Academic System

Chapter 10 Web-based Information Systems

Services Oriented Architecture and the Enterprise Services Bus

Chapter 8 Web Services Objectives

(p t y) lt d. 1995/04149/07. Course List 2018

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

CapeConnect Three. Concepts

IT6503 WEB PROGRAMMING. Unit-I

1.264 Lecture 16. Legacy Middleware

Component models. Page 1

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Customizing a Packaged Application for a J2EE Environment: A Case Study. Leslie Tierstein TopTier Consulting, Inc.

Oracle Developer Day

Oracle SOA Suite 12c: Build Composite Applications. About this course. Course type Essentials. Duration 5 Days

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Enterprise Architecture Deployment Options. Mark Causley Sandy Milliken Sue Martin

Software MEIC. (Lesson 20)

index_ qxd 7/18/02 11:48 AM Page 259 Index

Application Servers in E-Commerce Applications

Oracle SOA Suite 11g: Build Composite Applications

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Oracle 10g: Build J2EE Applications

XML Applications. Introduction Jaana Holvikivi 1

Migrating traditional Java EE applications to mobile

J2EE Application Development : Conversion and Beyond Osmond Ng

Integration Framework. Architecture

ive JAVA EE C u r r i c u l u m

Goals Give you an overview of development with ArcGIS Server Give you a roadmap to other sessions Cover the breadth of the software Not a deep dive se

Caliber Data Training

Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES

J2EE Interview Questions

Army Data Services Layer (ADSL) Data Mediation Providing Data Interoperability and Understanding in a

IBM Rational Developer for System z Version 7.5

KINGS COLLEGE OF ENGINEERING 1

Oracle Application Development Framework Overview

Chapter 2 Introduction

Outline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003

Enterprise Software Architecture & Design

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

Course Content for Java J2EE

<Insert Picture Here> Oracle Policy Automation System Requirements

CPET 581 E-Commerce & Business Technologies. Topics

Next-Generation SOA Infrastructure. An Oracle White Paper May 2007

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY. (An NBA Accredited Programme) ACADEMIC YEAR / EVEN SEMESTER

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

AD105 Introduction to Application Development for the IBM Workplace Managed Client

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Introduction to WebSphere Platform Messaging (WPM)

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition

Implementing the Army Net Centric Data Strategy in a Service Oriented Environment

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Integrating Legacy Assets Using J2EE Web Services

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

<Insert Picture Here> Oracle Policy Automation 10.0 System Requirements

J2EE Technologies. Industrial Training

The Umbilical Cord And Alphabet Soup

SAP NetWeaver Process Integration 7.1. SAP NetWeaver Regional Implementation Group SAP NetWeaver Product Management December 2007

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Master Thesis An Introduction to the Enterprise JavaBeans technology and Integrated Development Environments for implementing EJB applications

presentation DAD Distributed Applications Development Cristian Toma

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

CO Java EE 7: Back-End Server Application Development

Development of web applications using Google Technology

202 Index. Data dictionary, 25 Data items defined, 25 overview, 26 Data Language/I (DL/I), 7 Data parts, 25 Data tables compared to dictionaries, 33

02267: Software Development of Web Services

Transcription:

Introduction to Modeling and Simulation Architecting a Network-Centric M&S Application OSMAN BALCI Professor Department of Computer Science Virginia Polytechnic Institute and State University (Virginia Tech) Blacksburg, VA 24061, USA https://manta.cs.vt.edu/balci Copyright Osman Balci

M&S Life Cycle Legend: Document Executable Model Results Quality Assurance (QA) Process Iteration Maintenance COI s Responsibility Organization s Responsibility

Conceptual Modeling Requirements Specification Conceptual Model Architecting QA QA Architecture Specification QA The Process of Architecting Architecting is the process of creating and specifying an architecture for a network-centric M&S application based on the Conceptual Model and the M&S Requirements Specification Document (RSD). The process of Architecting takes the Conceptual Model and M&S RSD as input and produces a networkcentric M&S Architecture Specification as the output work product. Architecting Quality Assurance (QA) integrates the assessments of quality of the Architecture Specification work product, quality of the architecting process, quality of the people employed in architecting, and project characteristics related to the life cycle stage for architecting.

Conceptual Modeling Requirements Specification Conceptual Model Architecting QA QA The Process of Architecting The output, Architecture Specification, is created using a standard description framework such as DoD Architecture Framework (DoDAF). Architecture Specification QA

Is Architect a Verb? Both the Oxford English Dictionary and Merriam-Webster s Third International dictionary list architect as a verb. Architect (noun) a professional who creates an architecture Architect (verb) act of creating an architecture Can you say an Architecture? YES! Can you say Architectures? YES! Merriam-Webster s 11 th Collegiate Dictionary

Example Architectures

Requirements Specification QA The Process of Architecting Conceptual Modeling Conceptual Model Architecting QA Amine Chigani and Osman Balci (2012), The Process of Architecting for Software / System Engineering, International Journal of System of Systems Engineering 3, 1, 1-23. Architecture Specification QA The Architecting process deals with the creation of an architecture for a network-centric M&S application to satisfy the requirements stated in the RSD. The Architecting process can be conducted by Selection of a known architecture, Composition of an architecture from a set of known architectures, or Creation of a new architecture.

Architecture Definition The structure of components, their relationships, and the principles and guidelines governing their design and evolution over time. [DoD Integrated Architecture Panel, 1995, based on IEEE STD 610.12] An architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. [IEEE STD 1471-2000]

Terminology Cloud Computing Cyberinfrastructure engineering Distributed system/software engineering E-system (e.g., e-business, e-government) engineering Internet-based system/software engineering Network-centric system/software engineering Online system/software engineering Web engineering Web-based system/software engineering All of the terms above imply a system the components of which interoperate with each other over a network (e.g., Internet, virtual private network, wireless network) and the user uses the system over that network.

Network-Centric M&S Architecture A network-centric M&S architecture refers to the fundamental organization of M&S components that interoperate with each other over a network, relationships among the M&S components, and the principles and guidelines governing the design and evolution of those M&S components. We use the term network to refer to one or a combination of many types of communications networks such as Global System for Mobile communication (GSM), Internet, local area network (LAN), mobile ad-hoc network (MANET), virtual private network (VPN), or wireless network.

Architecture versus Design A design is an instantiation from an architecture similar to how an object is an instantiation from a class. Client 1 Client 2 App Server Example: Client 3 Network HTTP Server SQL Server Client-Server Architecture Relational DBMS Client N Server Computer Instantiation Instantiation Design based on the.net platform Design based on the Java EE platform

Major Network-Centric Architectures Major Network-Centric System/Software Architectures that can be used for a Network-Centric M&S application: 1. Client-Server Architecture (CSA) 2. Distributed Objects Architecture (DOA) 3. Service-Oriented Architecture (SOA) DoD / IEEE / NATO Standard Network-Centric (i.e., Distributed) M&S Architecture: High Level Architecture (HLA) DoD Standard Description of Network-Centric Architectures DoD Architecture Framework (DoDAF)

Client-Server Architecture (CSA) Two industry software standards for CSA: Java EE-based Client-Server Architecture Oracle (2013), Java platform Enterprise Edition (EE), Oracle Corporation, Redwood Shores, CA. Microsoft.NET-based Client-Server Architecture Microsoft (2013), Microsoft platform.net Framework, Microsoft Corporation, Redmond, WA.

A Client-Server Architecture with Example Components Client 1 IBM WebSphere Application Server Client 2 App Server Client 3 Network HTTP Server SQL Server JDBC Driver IBM HTTP Server Relational DBMS Client N IBM DB2 Database Server Computer

Example IBM Development and Deployment Environment Client (Web Browser) Send IBM HTTP Server IBM WebSphere Application Server IBM DB2 Database Receive JDBC Data Base Publish HTML,Servlets, JSPs, EJBs, Java Export JDBC IBM Rational Application Developer for WebSphere Software Development Environment

Thin and Thick Clients Thin-Client Model In a thin-client model, all of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software. A thin-client computer accesses applications and data from a server. Thick-Client Model In this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user. A thick-client computer includes an operating system and installed applications and can run either as a standalone or in a server environment.

Thin and Thick Clients Thin-Client Model A major disadvantage is that it places a heavy processing load on both the server and the network Thick-Client Model More processing is delegated to the client as the application processing is locally executed Most suitable for new client-server systems where the capabilities of the client system are known in advance More complex than a thin client model especially for management. New versions of the application have to be installed on all clients

Java EE-based Client-Server Architecture User 1 User 2 HTML XHTML JavaScript CSS XML XSLT DOM Java Applet Network Request HTTP Server Response Java Servlet Struts Framework Forward JSP, JSF Tiles Framework Business Logic Enterprise JavaBeans (EJBs) 2 RDBMS 1 User N 4 3 Web Container EJB Container 5 Client Java EE Application Server Server 1 Data Source Layer (Relational DBMS such as DB2, Oracle, SQL Server) 2 3 4 5 Data Mapping Layer (JDBC, Entity EJBs) Business Logic Layer / Domain Logic Layer / EJB Container Layer (EJBs) Web Container Layer (Servlets, JSP, JSF) Client Presentation Layer (JavaScript, XML, AJAX, XHTML, CSS, XSLT, DOM)

Definitions of Acronyms AJAX Asynchronous JavaScript and XML CSS Cascading Style Sheets DOM Document Object Model EJB Enterprise Java Bean HTML HyperText Markup Language HTTP HyperText Transfer Protocol Java EE Java Platform, Enterprise Edition JSF Java Server Face JSP Java Server Page RDBMS Relational Data Base Management System SQL Structured Query Language XHTML Extensible HTML XML Extensible Markup Language XSLT Extensible Stylesheet Language Transformation

A Web-based Client-Server Visual Simulation Architecture User 1 User 2 GUI (Client) Model Composer Visualization Manager Internet Request HTTP Server Response Interaction Controller / Mediator Forward Display Page XML Schema Validator Domain Logic 3 Executable Model Generator Executable Model 2 RDBMS 1 User N Message Buffer Message Manager Simulation Manager 5 4 J2EE Application Server Server Computer David S. Myers and Osman Balci (2009), A Web-Based Visual Simulation Architecture, International Journal of Modelling and Simulation 29, 2, 137-148.

Web-based Queuing System Simulation System (WebQS3) WebQS3 Editor Play the WebQS3 Editor Video David S. Myers and Osman Balci (2009), A Web-Based Visual Simulation Architecture, International Journal of Modelling and Simulation 29, 2, 137-148.

Web-based Queuing System Simulation System (WebQS3) WebQS3 Simulator Play the WebQS3 Simulator Video David S. Myers and Osman Balci (2009), A Web-Based Visual Simulation Architecture, International Journal of Modelling and Simulation 29, 2, 137-148.

Microsoft.NET-based Client-Server Architecture User 1 User 2 User N HTML XHTML JavaScript CSS XML XSLT DOM Web Forms Windows Forms Network Request IIS Response Internet Information Services (IIS) Forward ASP.NET 4 Business Logic Managed Components.NET Framework Class Library 3 2 RDBMS 1 5 Client Common Language Runtime (CLR) Engine Windows Server Operating System Server 1 Data Source Layer (Relational DBMS such as DB2, Oracle, SQL Server) 2 3 4 5 Data Mapping Layer (ActiveX Data Objects - ADO.NET) Business Logic Layer / Domain Logic Layer (Managed Components,.NET Framework Class Library) Web Container Layer (IIS, Active Server Pages - ASP.NET) Client Presentation Layer (JavaScript, XML, AJAX, XHTML, CSS, XSLT, DOM, Web Forms, Windows Forms)

Distributed Objects Architecture (DOA) 1. Common Object Request Broker Architecture (CORBA) Network Network O 1 O 2 O n S(O 1 ) S(O 2 ) S(O n ) O 1 O 2 O k S(O 1 ) S(O 2 ) S(O k ) IDL IDL IDL IDL IDL IDL ORB ORB Interface Definition Language (IDL) Object Request Broker (ORB) Inter-ORB Network 2. Microsoft s Distributed Component Object Model (DCOM)

An Example Composition of CSA and DOA DOA (CORBA) Client-Server Architecture BEST = Battlespace Environment and Signatures Toolkit A simulation integrated development environment (IDE)

Service-Oriented Architecture Provider independence. Public advertising of service availability. Potentially, run-time service binding. Opportunistic construction of new services through composition. Pay for use of services. Smaller, more compact applications. Reactive and adaptive applications.

Service-Oriented Architecture (SOA) Web Services-based SOA XML: TCP/IP: HTTP: SOAP: WSDL: UDDI: extensible Markup Language Transmission Control Protocol / Internet Protocol HyperText Transfer Protocol Simple Object Access Protocol, an XML-based messaging protocol used to encode the information in web service request and response messages before sending them over a network. Web Services Description Language, an XML-formatted language used to describe a Web service's capabilities. Universal Description, Discovery and Integration, a web-based distributed directory that enables listing of web services and discovering each other, similar to a traditional phone book's yellow and white pages. - Discovery Service Description XML-based Messaging World Wide Web Internet UDDI WSDL SOAP HTTP TCP/IP

Service- Oriented Architecture Layer Number 4 3 Application Services COI-Specific Services Data Services Enterprise Services Service-Oriented Architecture Services Management Orchestration Composition of Services BPEL Security Delivery of Services Grid Computing Services Information Services Policy-based Services Other Services Enterprise Service Bus (ESB) 2 Service Requestor Routing (Service Virtualization) Conversion UDDI Transformation Service Provider 1 Web Services XML WSDL SOAP HTTP HTTPS HTTP HTTPS SMTP Communications Mobile Ad Hoc Networking Multicast Networking Sensor Nodes Protocols Transport IPv6 TCP/IP Others Wireless Networks Wireless Sensor Networks Wireline Networks Communication Nodes Intended Uses of the system to be developed Universe of Discourse

Service-Oriented Architecture (SOA) Layer Number 4 Services Management Security 3 Application Services COI-Specific Services Data Services Enterprise Services Orchestration Composition of Services BPEL Delivery of Services Grid Computing Services Information Services Policy-based Services Other Services Enterprise Service Bus (ESB) 2 Service Requestor Routing (Service Virtualization) Conversion UDDI Transformation Service Provider 1 Web Services XML WSDL SOAP HTTP HTTPS

Random Variate Generation (RVG) Web Service for Stochastic Simulations Desktop SOA Network Server Computer Laptop Server RVG Web Service Provider RVG Web Service Consumers (A simulation application) A simulation application running on a client or server computer sends an RVG service request as an XML file over the network to the RVG web service provider software running on a server computer. Mohammad Sabah and Osman Balci (2005), Web-based Random Variate Generation for Stochastic Simulations, International Journal of Simulation and Process Modelling 1, 1-2, 16-25.

Random Variate Generation (RVG) Web Service for Stochastic Simulations Play the Video Simulation 1 Simulation 2 Internet SOAP Request HTTP Server RVG Web Service Forward Entity EJBs Database (DB2) RVG Service in XML Simulation N SOAP Response IBM WebSphere Application Server RVG Web Service Provider Server Computer (http://sunfish.cs.vt.edu/) Mohammad Sabah and Osman Balci (2005), Web-based Random Variate Generation for Stochastic Simulations, International Journal of Simulation and Process Modelling 1, 1-2, 16-25.

High Level Architecture (HLA) HLA is a general purpose architecture that facilitates interoperability among network-centric M&S applications and enables reuse of M&S applications and their components. HLA-compliant M&S applications running on different hardware platforms can interoperate with each other over a network. Interoperability among the network-centric M&S applications is enabled by a RunTime Infrastructure (RTI). HLA is an IEEE Standard, a DoD Standard, and a NATO Standard. IEEE (2000), IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA) - Framework and Rules. IEEE Standard No. 1516-2000. IEEE (2000), IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA) Federate Interface Specification. IEEE Standard No. 1516.1-2000. IEEE (2000), IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA) Object Model Template (OMT) Specification. IEEE Standard No. 1516.2-2000. IEEE (2003), IEEE Recommended Practice for High Level Architecture (HLA) Federation Development and Execution Process (FEDEP). IEEE Standard No. 1516.3-2003.

HLA Components HLA is composed of three major components: HLA Rules A set of ten basic rules that together describe the general principles defining the HLA. HLA Interface Specification A description of the functional interface between simulations (federates) and the HLA runtime infrastructure (RTI). HLA Object Model Template (OMT) A specification of the common format and structure for documenting HLA object models.

What is DoDAF? The U.S. Department of Defense (DoD) Architecture Framework (DoDAF): Provides a foundational framework for developing and representing architecture descriptions that ensure a common denominator for understanding, comparing, and integrating architectures across organizational, Joint, and multinational boundaries. It establishes data element definitions, rules, and relationships and a baseline set of products for consistent development of systems, integrated, or federated architectures. These architecture descriptions may include Families of Systems (FoSs), Systems of Systems (SoSs), and netcentric capabilities for interoperating and interacting in the Network-Centric Environment.

DoDAF Version 2.0 Volume 1: Introduction, Overview, and Concepts - Manager s Guide Volume 2: Architectural Data and Models - Architect s Guide Volume 3: DoDAF Meta-model, Physical Exchange Specification - Developer s Guide

Architecture Viewpoints in DoDAF V2.0

DoDAF V2.0 Models

DoDAF V2.0 Models

DoDAF V2.0 Models

DoDAF V2.0 Models

DoDAF V2.0 Models

DoDAF V2.0 Models