SlideShare une entreprise Scribd logo
1  sur  27
(ATS6-DEV03) Building an Enterprise
Web Solution with AEP
James Redfern
Lead Software Engineer
R&D
james.redfern@accelrys.com
The information on the roadmap and future software development efforts are
intended to outline general product direction and should not be relied on in making
a purchasing decision.
Content
• Writing Service Protocols
• Defining REST API
• Building UI with Ext JS
DemoThe Application
• Ext JS client on AEP server solution
• Run through a Search/List application
• Overview of implementation
Service Protocols
• Implementing services using protocols
Service Protocols
How does the protocol…
receive input from the client?
Protocol Parameters
return response to the client?
Web Service Results
or via files written to job directory
DemoImplement DELETE LIST protocol
• Our application uses Caches to store lists
• We need to create a protocol to delete a named cache
REST API
• Mapping RESTful endpoints to protocols
• Testing
• Representational State Transfer
• Typically pass documents (eg XML, JSON) between client
& server that represent state of a resource
• Uses existing verbs rather than creating arbitrary function
names – GET, PUT, POST, DELETE
• Resources identified by URI, so URI mapping required to
underlying functions
RESTful Services
RESTful URIS refer to resources
Two types of URIs
Collection - http://example.com/compounds/
Element - http://example.com/compounds/acc123456
5 Common Methods
Method Purpose
GET For retrieving a data resource or a resource collection
POST For creating a new resource
PUT For replacing a resource
PATCH For updating resource content
DELETE For removing a resource
RESTful URIs
• URL Route definitions are provided in package files
• In your package define the routes in a urls.conf file
• Include a reference to this file in package.conf:
…
# URL routing configuration
Include $(package)/urls.conf
*Changes to urls.conf modify Apache configuration, so require restart
Defining URL Routes
Defining URL Routes
<url REST AUTH>
method GET
request /ajaxapp/lists/
protocol Protocols/Ajax App/Get Lists
</url>
Defining URL Routes
• Passing Parameters (1)
<url REST AUTH>
method GET
request /ajaxapp/search/
protocol Protocols/Ajax App/Search
</url>
Defining URL Routes
• Passing Parameters (2)
<url REST AUTH>
method GET
request /ajaxapp/@Visibility/lists/@Name
protocol Protocols/Ajax App/Get List
</url>
Testing Services
• No need for special / customized Accelrys tooling
• Simply test with web browser or REST client
(eg. Chrome plugin)
DemoAdd new RESTful endpoint
• Map URL for DELETE LIST protocol
• Test using REST Client
Building the UI
• What does Ext JS give us?
• What’s involved?
What does Ext JS give us?
• Class Structure
• MVC Architecture
• Rich set of widgets
• Plugin-free charting
• Modern, clean Neptune theme
• Cross platform browser compatibility
• Helper methods for DOM manipulation
Class Structure
• Ext JS provides a rich class structure, including:
– Methods & properties
– Inheritance
– Statics
– Mixins
– Singletons
Class Structure
• Classes are:
– defined using Ext.define
– created using Ext.create
MVC Architecture
• Separates the representation of
information from the user’s
interaction with it.
– MODEL contains application data
– VIEW is any representation of that data
– CONTROLLER takes input and converts to
commands for Model & View.
MVC Architecture: Model
• Models…
– contain a collection of fields
– can persist to/from server using their proxy
• Stores…
– are a client-side cache of Models
– support filtering, sorting, paging
MVC Architecture: View
• Views…
– are the visual elements of the application
– usually extend Ext.Component (or a derivative)
– can be laid out in containers using layouts
– fire events as user interacts with component
MVC Architecture: Controller
• Controllers…
– bind the application together
– listen to events and take appropriate actions
– extend Ext.app.Controller
DemoAdd DELETE LIST button
• Add new button
• Wire-up the button click to action call
• TEST!!
• How to create an Ext JS / AEP app?
– Actions are implemented as normal protocols
– urls.conf defines RESTful endpoints for protocols
– REST API makes it easy to use 3rd party JS libraries
– UI code is pure Ext JS (no need for AEP customizations)
Summary
• http://docs.sencha.com/extjs/4.2.0/
• aep_restful_web_services.pdf
• Learn how to incorporate other REST APIs in a Mash-up
application (ATS6-DEV04)
• Take a deep-dive into REST and SOAP integration for
Protocol Authors (ATS6-DEV09)
Next Steps?

Contenu connexe

Tendances

Tendances (20)

Anypoint connector basics
Anypoint connector basicsAnypoint connector basics
Anypoint connector basics
 
Deep-dive building solutions on the SharePoint Framework
Deep-dive building solutions on the SharePoint FrameworkDeep-dive building solutions on the SharePoint Framework
Deep-dive building solutions on the SharePoint Framework
 
sell idea
sell ideasell idea
sell idea
 
Integration of mule esb with microsoft azure
Integration of mule esb with microsoft azureIntegration of mule esb with microsoft azure
Integration of mule esb with microsoft azure
 
From the Trenches: Effectively Scaling Your Cloud Infrastructure and Optimizi...
From the Trenches: Effectively Scaling Your Cloud Infrastructure and Optimizi...From the Trenches: Effectively Scaling Your Cloud Infrastructure and Optimizi...
From the Trenches: Effectively Scaling Your Cloud Infrastructure and Optimizi...
 
Алексей Веркеенко "Symfony2 & REST API"
Алексей Веркеенко "Symfony2 & REST API" Алексей Веркеенко "Symfony2 & REST API"
Алексей Веркеенко "Symfony2 & REST API"
 
Featfures of asp.net
Featfures of asp.netFeatfures of asp.net
Featfures of asp.net
 
Build a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutesBuild a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutes
 
intern
internintern
intern
 
Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010
 
Getting Started with Orchestrator and Service Manager
Getting Started with Orchestrator and Service ManagerGetting Started with Orchestrator and Service Manager
Getting Started with Orchestrator and Service Manager
 
Get Queue List from Microsoft Azure using Mule ESB
Get Queue List from Microsoft Azure using Mule ESBGet Queue List from Microsoft Azure using Mule ESB
Get Queue List from Microsoft Azure using Mule ESB
 
SCORCH: Tying it All Together
SCORCH: Tying it All TogetherSCORCH: Tying it All Together
SCORCH: Tying it All Together
 
10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator
 
Html 5 Overview
Html 5 OverviewHtml 5 Overview
Html 5 Overview
 
eGrove Systems Review - "Features of Magento 2.0"
eGrove Systems Review - "Features of Magento 2.0"eGrove Systems Review - "Features of Magento 2.0"
eGrove Systems Review - "Features of Magento 2.0"
 
Software design with Domain-driven design
Software design with Domain-driven design Software design with Domain-driven design
Software design with Domain-driven design
 
Building solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionBuilding solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introduction
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
Planet of the APIs: Monitoring Transactions in the Wild
Planet of the APIs: Monitoring Transactions in the WildPlanet of the APIs: Monitoring Transactions in the Wild
Planet of the APIs: Monitoring Transactions in the Wild
 

En vedette

Building a learning management system for a corporate2
Building a learning management system for a corporate2Building a learning management system for a corporate2
Building a learning management system for a corporate2
Efrain Rivera
 
Mit cc turn into action - digital strategies banking v march2012-
Mit cc turn into action - digital strategies banking v march2012-Mit cc turn into action - digital strategies banking v march2012-
Mit cc turn into action - digital strategies banking v march2012-
Claire Calmejane
 

En vedette (20)

(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
 
Building a learning management system for a corporate2
Building a learning management system for a corporate2Building a learning management system for a corporate2
Building a learning management system for a corporate2
 
If It Can Go Wrong, It Will! How to Bulletproof Your User Research
If It Can Go Wrong, It Will! How to Bulletproof Your User ResearchIf It Can Go Wrong, It Will! How to Bulletproof Your User Research
If It Can Go Wrong, It Will! How to Bulletproof Your User Research
 
How to Survive the Shark Tank - Part 2 [Investor Tips] - #sharktank
How to Survive the Shark Tank - Part 2 [Investor Tips] - #sharktankHow to Survive the Shark Tank - Part 2 [Investor Tips] - #sharktank
How to Survive the Shark Tank - Part 2 [Investor Tips] - #sharktank
 
Mit cc turn into action - digital strategies banking v march2012-
Mit cc turn into action - digital strategies banking v march2012-Mit cc turn into action - digital strategies banking v march2012-
Mit cc turn into action - digital strategies banking v march2012-
 
How to Survive the Shark Tank - Part 1 [Investor Tips] - #sharktank
How to Survive the Shark Tank - Part 1 [Investor Tips] - #sharktankHow to Survive the Shark Tank - Part 1 [Investor Tips] - #sharktank
How to Survive the Shark Tank - Part 1 [Investor Tips] - #sharktank
 
Digital Transformation and 'The Pursuit of Falling'
Digital Transformation and 'The Pursuit of Falling'Digital Transformation and 'The Pursuit of Falling'
Digital Transformation and 'The Pursuit of Falling'
 
Win more ad agency new business pitches. It’s easier than you think.
Win more ad agency new business pitches. It’s easier than you think.Win more ad agency new business pitches. It’s easier than you think.
Win more ad agency new business pitches. It’s easier than you think.
 
Platform Revolution
Platform RevolutionPlatform Revolution
Platform Revolution
 
When Tech meets Fashion, what could possibly go wrong? @nickdemey
When Tech meets Fashion, what could possibly go wrong? @nickdemeyWhen Tech meets Fashion, what could possibly go wrong? @nickdemey
When Tech meets Fashion, what could possibly go wrong? @nickdemey
 
Under Armour Pitch Brief
Under Armour Pitch BriefUnder Armour Pitch Brief
Under Armour Pitch Brief
 
10 Steps great leaders take when things go wrong
10 Steps great leaders take when things go wrong10 Steps great leaders take when things go wrong
10 Steps great leaders take when things go wrong
 
Be a Great Product Leader (Zynga 2016)
Be a Great Product Leader (Zynga 2016)Be a Great Product Leader (Zynga 2016)
Be a Great Product Leader (Zynga 2016)
 
The Second Machine Age: An Industrial Revolution Powered by Digital Technologies
The Second Machine Age: An Industrial Revolution Powered by Digital TechnologiesThe Second Machine Age: An Industrial Revolution Powered by Digital Technologies
The Second Machine Age: An Industrial Revolution Powered by Digital Technologies
 
Managing your Digital Transformation
Managing your Digital TransformationManaging your Digital Transformation
Managing your Digital Transformation
 
Management information system
Management information systemManagement information system
Management information system
 
70+ Digital Transformation Statistics
70+ Digital Transformation Statistics 70+ Digital Transformation Statistics
70+ Digital Transformation Statistics
 
Digital Transformation in Governments
Digital Transformation in GovernmentsDigital Transformation in Governments
Digital Transformation in Governments
 
Finding Our Happy Place in the Internet of Things
Finding Our Happy Place in the Internet of ThingsFinding Our Happy Place in the Internet of Things
Finding Our Happy Place in the Internet of Things
 
Developing a Roadmap for Digital Transformation
Developing a Roadmap for Digital TransformationDeveloping a Roadmap for Digital Transformation
Developing a Roadmap for Digital Transformation
 

Similaire à (ATS6-DEV03) Building an Enterprise Web Solution with AEP

REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
Jeelani Shaik
 
ASP.NET MVC_Routing_Authentication_Aurhorization.pdf
ASP.NET MVC_Routing_Authentication_Aurhorization.pdfASP.NET MVC_Routing_Authentication_Aurhorization.pdf
ASP.NET MVC_Routing_Authentication_Aurhorization.pdf
setit72024
 

Similaire à (ATS6-DEV03) Building an Enterprise Web Solution with AEP (20)

(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
 
Mvc
MvcMvc
Mvc
 
Using MVC with Kentico 8
Using MVC with Kentico 8Using MVC with Kentico 8
Using MVC with Kentico 8
 
Rest WebAPI with OData
Rest WebAPI with ODataRest WebAPI with OData
Rest WebAPI with OData
 
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdfNET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
 
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economy
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
 
Asp 1-mvc introduction
Asp 1-mvc introductionAsp 1-mvc introduction
Asp 1-mvc introduction
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
 
Planet of the APIs: Monitoring Transactions in the Wild
Planet of the APIs: Monitoring Transactions in the WildPlanet of the APIs: Monitoring Transactions in the Wild
Planet of the APIs: Monitoring Transactions in the Wild
 
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
ASP.NET MVC_Routing_Authentication_Aurhorization.pdf
ASP.NET MVC_Routing_Authentication_Aurhorization.pdfASP.NET MVC_Routing_Authentication_Aurhorization.pdf
ASP.NET MVC_Routing_Authentication_Aurhorization.pdf
 
Structure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud FoundryStructure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud Foundry
 
Asp.net With mvc handson
Asp.net With mvc handsonAsp.net With mvc handson
Asp.net With mvc handson
 
Angular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesAngular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP Services
 

Plus de BIOVIA

(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections
BIOVIA
 
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
BIOVIA
 
(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot
(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot
(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot
BIOVIA
 

Plus de BIOVIA (20)

ScienceCloud: Collaborative Workflows in Biologics R&D
ScienceCloud: Collaborative Workflows in Biologics R&DScienceCloud: Collaborative Workflows in Biologics R&D
ScienceCloud: Collaborative Workflows in Biologics R&D
 
(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections
 
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
 
(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment
 
(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance
 
(ATS6-PLAT05) Security enhancements in AEP 9
(ATS6-PLAT05) Security enhancements in AEP 9(ATS6-PLAT05) Security enhancements in AEP 9
(ATS6-PLAT05) Security enhancements in AEP 9
 
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
 
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
 
(ATS6-GS01) Welcome
(ATS6-GS01) Welcome (ATS6-GS01) Welcome
(ATS6-GS01) Welcome
 
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
 
(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page
 
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0
(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0
(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0
 
(ATS6-APP09) ELN configuration management with ADM
(ATS6-APP09) ELN configuration management with ADM(ATS6-APP09) ELN configuration management with ADM
(ATS6-APP09) ELN configuration management with ADM
 
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
 
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration    (ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
 
(ATS6-APP04) Flexible Data Capture for Improved Laboratory Ergonomics
(ATS6-APP04) Flexible Data Capture for Improved Laboratory Ergonomics(ATS6-APP04) Flexible Data Capture for Improved Laboratory Ergonomics
(ATS6-APP04) Flexible Data Capture for Improved Laboratory Ergonomics
 
(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot
(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot
(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot
 
(ATS6-APP02) Deploying Discoverant Across a Global Network
 (ATS6-APP02) Deploying Discoverant Across a Global Network (ATS6-APP02) Deploying Discoverant Across a Global Network
(ATS6-APP02) Deploying Discoverant Across a Global Network
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

(ATS6-DEV03) Building an Enterprise Web Solution with AEP

  • 1. (ATS6-DEV03) Building an Enterprise Web Solution with AEP James Redfern Lead Software Engineer R&D james.redfern@accelrys.com
  • 2. The information on the roadmap and future software development efforts are intended to outline general product direction and should not be relied on in making a purchasing decision.
  • 3. Content • Writing Service Protocols • Defining REST API • Building UI with Ext JS
  • 4. DemoThe Application • Ext JS client on AEP server solution • Run through a Search/List application • Overview of implementation
  • 5. Service Protocols • Implementing services using protocols
  • 6. Service Protocols How does the protocol… receive input from the client? Protocol Parameters return response to the client? Web Service Results or via files written to job directory
  • 7. DemoImplement DELETE LIST protocol • Our application uses Caches to store lists • We need to create a protocol to delete a named cache
  • 8. REST API • Mapping RESTful endpoints to protocols • Testing
  • 9. • Representational State Transfer • Typically pass documents (eg XML, JSON) between client & server that represent state of a resource • Uses existing verbs rather than creating arbitrary function names – GET, PUT, POST, DELETE • Resources identified by URI, so URI mapping required to underlying functions RESTful Services
  • 10. RESTful URIS refer to resources Two types of URIs Collection - http://example.com/compounds/ Element - http://example.com/compounds/acc123456 5 Common Methods Method Purpose GET For retrieving a data resource or a resource collection POST For creating a new resource PUT For replacing a resource PATCH For updating resource content DELETE For removing a resource RESTful URIs
  • 11. • URL Route definitions are provided in package files • In your package define the routes in a urls.conf file • Include a reference to this file in package.conf: … # URL routing configuration Include $(package)/urls.conf *Changes to urls.conf modify Apache configuration, so require restart Defining URL Routes
  • 12. Defining URL Routes <url REST AUTH> method GET request /ajaxapp/lists/ protocol Protocols/Ajax App/Get Lists </url>
  • 13. Defining URL Routes • Passing Parameters (1) <url REST AUTH> method GET request /ajaxapp/search/ protocol Protocols/Ajax App/Search </url>
  • 14. Defining URL Routes • Passing Parameters (2) <url REST AUTH> method GET request /ajaxapp/@Visibility/lists/@Name protocol Protocols/Ajax App/Get List </url>
  • 15. Testing Services • No need for special / customized Accelrys tooling • Simply test with web browser or REST client (eg. Chrome plugin)
  • 16. DemoAdd new RESTful endpoint • Map URL for DELETE LIST protocol • Test using REST Client
  • 17. Building the UI • What does Ext JS give us? • What’s involved?
  • 18. What does Ext JS give us? • Class Structure • MVC Architecture • Rich set of widgets • Plugin-free charting • Modern, clean Neptune theme • Cross platform browser compatibility • Helper methods for DOM manipulation
  • 19. Class Structure • Ext JS provides a rich class structure, including: – Methods & properties – Inheritance – Statics – Mixins – Singletons
  • 20. Class Structure • Classes are: – defined using Ext.define – created using Ext.create
  • 21. MVC Architecture • Separates the representation of information from the user’s interaction with it. – MODEL contains application data – VIEW is any representation of that data – CONTROLLER takes input and converts to commands for Model & View.
  • 22. MVC Architecture: Model • Models… – contain a collection of fields – can persist to/from server using their proxy • Stores… – are a client-side cache of Models – support filtering, sorting, paging
  • 23. MVC Architecture: View • Views… – are the visual elements of the application – usually extend Ext.Component (or a derivative) – can be laid out in containers using layouts – fire events as user interacts with component
  • 24. MVC Architecture: Controller • Controllers… – bind the application together – listen to events and take appropriate actions – extend Ext.app.Controller
  • 25. DemoAdd DELETE LIST button • Add new button • Wire-up the button click to action call • TEST!!
  • 26. • How to create an Ext JS / AEP app? – Actions are implemented as normal protocols – urls.conf defines RESTful endpoints for protocols – REST API makes it easy to use 3rd party JS libraries – UI code is pure Ext JS (no need for AEP customizations) Summary
  • 27. • http://docs.sencha.com/extjs/4.2.0/ • aep_restful_web_services.pdf • Learn how to incorporate other REST APIs in a Mash-up application (ATS6-DEV04) • Take a deep-dive into REST and SOAP integration for Protocol Authors (ATS6-DEV09) Next Steps?