The document discusses generating REST gateways for mobile applications. It introduces arconsis IT-Solutions GmbH, who develops agile and lean software using JBoss middleware and focuses on mobile solutions. The presentation aims to show how a domain-specific language approach can simplify creating RESTful mobile apps that integrate with enterprise systems in a simple, fast, and multi-platform way. It demonstrates using a DSL to generate a REST gateway on JBoss AS along with mobile app code and proxies to connect an example mobile app to a backend system.
Introduction to AWS Serverless. In these slides we introduce AWS Serverless, we define what is serverless, we explore Amazon services which can be used to create serverless flows like Lambda, SQS, SNS, Api Gateway, DynamoDB and finally we use Terraform to deploy a serverless API in AWS.
Introduction to Microservices Patterns. In these slides we explore microservices vs monolith apis. We try to identify the challenges of moving to microservices ecosystem and try to analyze possible solutions for data consistency, inter-communication, event driven and distributed transactions.
Introduction to AWS and Terraform. In these slides we introduce AWS, cloud networking and cloud native workflows using infrastructure as code via Terraform.
AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...Amazon Web Services
Learn how to architect fully available and scalable Microsoft solutions and environments in AWS. Find out how Microsoft solutions can leverage various AWS services to achieve more resiliency, replace unnecessary complexity, simplify architecture, provide scalability, introduce DevOps concepts, automation and repeatability. Plan authentication and authorization, various hybrid scenarios with other cloud environment and on premise solutions/infrastructure. Learn about common architecture patterns for Active Directory and business productivity solutions like SharePoint, Exchange and Skype for Business, also common scenarios for SQL deployments and System Center.
Best Practices for Deploying Microsoft Workloads on AWSZlatan Dzinic
We will guide you through the best practices associated with deploying Microsoft products and services on AWS. You will find answers to common technical, licensing and supportability questions, we will also look at migrating workloads from you local datacenter (such as Exchange or Sharepoint) to AWS and how to satisfy your core requirements (AD authentication, monitoring, patching). From hybrid architectures, where the AWS cloud is an extension of your data center, to innovative DevOps centric approaches, we will cover the main use cases seen by our customers.
Introduction to AWS Serverless. In these slides we introduce AWS Serverless, we define what is serverless, we explore Amazon services which can be used to create serverless flows like Lambda, SQS, SNS, Api Gateway, DynamoDB and finally we use Terraform to deploy a serverless API in AWS.
Introduction to Microservices Patterns. In these slides we explore microservices vs monolith apis. We try to identify the challenges of moving to microservices ecosystem and try to analyze possible solutions for data consistency, inter-communication, event driven and distributed transactions.
Introduction to AWS and Terraform. In these slides we introduce AWS, cloud networking and cloud native workflows using infrastructure as code via Terraform.
AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...Amazon Web Services
Learn how to architect fully available and scalable Microsoft solutions and environments in AWS. Find out how Microsoft solutions can leverage various AWS services to achieve more resiliency, replace unnecessary complexity, simplify architecture, provide scalability, introduce DevOps concepts, automation and repeatability. Plan authentication and authorization, various hybrid scenarios with other cloud environment and on premise solutions/infrastructure. Learn about common architecture patterns for Active Directory and business productivity solutions like SharePoint, Exchange and Skype for Business, also common scenarios for SQL deployments and System Center.
Best Practices for Deploying Microsoft Workloads on AWSZlatan Dzinic
We will guide you through the best practices associated with deploying Microsoft products and services on AWS. You will find answers to common technical, licensing and supportability questions, we will also look at migrating workloads from you local datacenter (such as Exchange or Sharepoint) to AWS and how to satisfy your core requirements (AD authentication, monitoring, patching). From hybrid architectures, where the AWS cloud is an extension of your data center, to innovative DevOps centric approaches, we will cover the main use cases seen by our customers.
In this session we will talk through deployment scenarios, design considerations and introduce AWS Active Directory Service. AWS Directory Service is a managed service that allows you to connect your AWS resources with an existing on-premises Microsoft Active Directory or to set up a new, stand-alone directory in the AWS cloud.
AWS re:Invent 2016: Securing Container-Based Applications (CON402)Amazon Web Services
Containers have had an incredibly large adoption rate since Docker was launched, especially from the developer community, as it provides an easy way to package, ship, and run applications. Securing your container-based application is now becoming a critical issue as applications move from development into production. In this session, you learn ways to implement storing secrets, distributing AWS privileges using IAM roles, protecting your container-based applications with vulnerability scans of container images, and incorporating automated checks into your continuous delivery workflow.
(BIZ303) Active Directory in the AWS Cloud | AWS re:Invent 2014Amazon Web Services
Most enterprises have come to rely upon Active Directory for authentication and authorization-for users, workstations, servers, and business applications. Among your first considerations when planning a major implementation initiative will be how best to architect Active Directory-and take advantage of the benefits of the AWS cloud. This session will focus on best practice implementation patterns including AD Backup and Recovery in AWS, Region and Availability Zone design considerations for AD replication, and Security. To finish, we selected the three most common design patterns to discuss: Single Forest, Federate and Disconnected. We will talk about when each is appropriate to use, how it is designed and the practical implications of that choice. While each AD implementation is unique, these three patterns represent the fundamental building blocks upon which you will design your own Directory. You will leave the session knowing how to best to architect AWS to support the Active Directory your enterprise relies upon.
AWS has a number of services that help enterprise customers deploy solutions that meet high performance, security, and reliability requirements. SQL Server is no exception. In this session, we will explore the different options that exist today to help enterprises meet those types of requirements. Another key capability in AWS is flexibility. Multiple options exist for how enterprises can deploy SQL Server in AWS. We will talk in detail about how to choose between a managed database model like Relational Database Service (RDS) or core compute model like Elastic Compute Cloud (EC2). Finally, we’ll wrap up with an exploration of different operational aspects of SQL Server in AWS.
Containers are a developer's new best friend. For all the non-developers, what does this mean? This session will demystify this abstraction called containers, and dive deep on how it changes the way we provision, deliver, deploy and manage applications.
Speaker: Shiva Narayanaswamy, Solutions Architect, Amazon Web Services
In these slides we introduce real-time examples and architectures built using AWS Serverless components like AWS Lambda, AWS Fargate, AWS SNS, AWS SQS, AWS DynamoDB, AWS Kinesis, AWS API GW.
Github Repo: https://github.com/arconsis/aws-microservices-terraform-warmup
AWS re:Invent 2016: From One to Many: Evolving VPC Design (ARC302)Amazon Web Services
As more customers adopt Amazon VPC architectures, the features and flexibility of the service are squaring off against evolving design requirements. This session follows this evolution of a single regional VPC into a multi-VPC, multi-region design with diverse connectivity into on-premises systems and infrastructure. Along the way, we investigate creative customer solutions for scaling and securing outbound VPC traffic, securing private access to Amazon S3, managing multi-tenant VPCs, integrating existing customer networks through AWS Direct Connect, and building a full VPC mesh network across global regions.
AWS Lambda from the trenches (Serverless London)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances for fault tolerance and load distribution. In this session, we go into detail about Elastic Load Balancing's configuration and day-to-day management, as well as its use in conjunction with Auto Scaling. We explain how to make decisions about the service and share best practices and useful tips for success.
In this session we will talk through deployment scenarios, design considerations and introduce AWS Active Directory Service. AWS Directory Service is a managed service that allows you to connect your AWS resources with an existing on-premises Microsoft Active Directory or to set up a new, stand-alone directory in the AWS cloud.
AWS re:Invent 2016: Securing Container-Based Applications (CON402)Amazon Web Services
Containers have had an incredibly large adoption rate since Docker was launched, especially from the developer community, as it provides an easy way to package, ship, and run applications. Securing your container-based application is now becoming a critical issue as applications move from development into production. In this session, you learn ways to implement storing secrets, distributing AWS privileges using IAM roles, protecting your container-based applications with vulnerability scans of container images, and incorporating automated checks into your continuous delivery workflow.
(BIZ303) Active Directory in the AWS Cloud | AWS re:Invent 2014Amazon Web Services
Most enterprises have come to rely upon Active Directory for authentication and authorization-for users, workstations, servers, and business applications. Among your first considerations when planning a major implementation initiative will be how best to architect Active Directory-and take advantage of the benefits of the AWS cloud. This session will focus on best practice implementation patterns including AD Backup and Recovery in AWS, Region and Availability Zone design considerations for AD replication, and Security. To finish, we selected the three most common design patterns to discuss: Single Forest, Federate and Disconnected. We will talk about when each is appropriate to use, how it is designed and the practical implications of that choice. While each AD implementation is unique, these three patterns represent the fundamental building blocks upon which you will design your own Directory. You will leave the session knowing how to best to architect AWS to support the Active Directory your enterprise relies upon.
AWS has a number of services that help enterprise customers deploy solutions that meet high performance, security, and reliability requirements. SQL Server is no exception. In this session, we will explore the different options that exist today to help enterprises meet those types of requirements. Another key capability in AWS is flexibility. Multiple options exist for how enterprises can deploy SQL Server in AWS. We will talk in detail about how to choose between a managed database model like Relational Database Service (RDS) or core compute model like Elastic Compute Cloud (EC2). Finally, we’ll wrap up with an exploration of different operational aspects of SQL Server in AWS.
Containers are a developer's new best friend. For all the non-developers, what does this mean? This session will demystify this abstraction called containers, and dive deep on how it changes the way we provision, deliver, deploy and manage applications.
Speaker: Shiva Narayanaswamy, Solutions Architect, Amazon Web Services
In these slides we introduce real-time examples and architectures built using AWS Serverless components like AWS Lambda, AWS Fargate, AWS SNS, AWS SQS, AWS DynamoDB, AWS Kinesis, AWS API GW.
Github Repo: https://github.com/arconsis/aws-microservices-terraform-warmup
AWS re:Invent 2016: From One to Many: Evolving VPC Design (ARC302)Amazon Web Services
As more customers adopt Amazon VPC architectures, the features and flexibility of the service are squaring off against evolving design requirements. This session follows this evolution of a single regional VPC into a multi-VPC, multi-region design with diverse connectivity into on-premises systems and infrastructure. Along the way, we investigate creative customer solutions for scaling and securing outbound VPC traffic, securing private access to Amazon S3, managing multi-tenant VPCs, integrating existing customer networks through AWS Direct Connect, and building a full VPC mesh network across global regions.
AWS Lambda from the trenches (Serverless London)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances for fault tolerance and load distribution. In this session, we go into detail about Elastic Load Balancing's configuration and day-to-day management, as well as its use in conjunction with Auto Scaling. We explain how to make decisions about the service and share best practices and useful tips for success.
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
Co-presented with Will Perry (@willpe). Real-world experiences using CouchDB inside Microsoft, and also how to get started with CouchDB on Microsoft Azure.
See how InduSoft Web Studio SCADA software can benefit machine builders, and help create powerful SCADA and HMI applications for machines in any industry.
xPaaS – day in the life of a modern application developerEric D. Schabell
The modern application developer can't ignore their Cloud stack anymore and with Red Hat Cloud Suite you don't have to. Come along on this journey as we take a look at a day in the life of a modern application developer.
How to Radically Simplify Your Business Data ManagementClusterpoint
Relational databases were designed for tabular data storage model. It requires complex software: schemas, encoded data, inflexible relations, sophisticated indexes. Complexity of your IT systems increases over your database life-time many-fold. Your costs too. Yet, we have a solution for this.
Standard Issue: Preparing for the Future of Data ManagementInside Analysis
The Briefing Room with Robin Bloor and Jaspersoft
Slides from the Live Webcast on Sept. 18, 2012
As change continues to sweep across the data management industry, many organizations are looking for ways to prepare their systems and personnel for an unpredictable future. Forces such as Big Data and Cloud Computing are creating new opportunities and significant challenges for a world filled with legacy systems. Information architectures are fundamentally changing, and that's good news for companies that can take advantage of recent innovations.
Check out this episode of The Briefing Room to learn from veteran Analyst Robin Bloor, who will explain why the Information Oriented Architecture provides a stable roadmap for companies looking to harness a new era of corporate computing. He'll be briefed by Mike Boyarski of Jaspersoft, who will tout his company's history of integrating with highly diverse information systems. He'll also discuss Jaspersoft's standards-based, Cloud-ready architecture, and how it enables organizations to embed powerful Business Intelligence capabilities into their existing systems.
http://www.insideanalysis.com
1. Generated REST Gateways for
Mobile Applications
Wolfgang Frank
arconsis IT-Solutions GmbH
May, 3rd 2010
2. Who we are?
arconsis IT-Solutions GmbH from Karlsruhe,
Germany
agile- & lean software development
software architecture
solutions based on JBoss middleware
mobile solutions leveraging MDSD
RedHat/JBoss Advanced SI Partner
2 arconsis IT-Solutions GmbH
3. We want to …
Create data-driven mobile apps
Integrate with enterprise
This should be …
simple
fast
multi-platform (apps + integration)
3 arconsis IT-Solutions GmbH
4. How we do it …
„ The talk will show how the usage of a Domain
Specific Language (DSL) approach could help
to simplify the RESTful integration of mobile
applications (like on the iPhone or Android)
with JBoss Middleware. The talk will sketch
out the main concepts and provide a live demo
for a solution based on a fully open source
stack, composed of JBoss- as well as Eclipse
technology.“
4 arconsis IT-Solutions GmbH
5. How we do it …
„ The talk will show how the usage of a Domain
Specific Language (DSL) approach could help
to simplify the RESTful integration of mobile
applications (like on the iPhone or Android)
with JBoss Middleware. The talk will sketch
out the main concepts and provide a live demo
for a solution based on a fully open source
stack, composed of JBoss- as well as Eclipse
technology.“
5 arconsis IT-Solutions GmbH
6. Take a look
What do I mean with simple and fast?
A quick demo …
6 arconsis IT-Solutions GmbH
7. A Mobile Gateway architecture example
JBoss AS
iPhone Other Applications
(e.g. CRM, ERP, …)
Mobile JBoss ESB
Android REST Gateway Open Services
on JBoss AS (e.g. Google, Yahoo,
Amazon,…)
Blackberry
JBoss DS Internal Services
HornetQ (e.g. SOA,
Database)
Should be
easy to scale
out!
7 arconsis IT-Solutions GmbH
8. Where we’re heading …
Basics about MDSD +
Domain Specific Languages
RESTful services + JBoss RestEasy
The iPhonical project
Data-driven Apps
A Mobile Gateway architecture
Putting it all together (demo)
8 arconsis IT-Solutions GmbH
9. Basics about MDSD + Domain Specific Languages
9 arconsis IT-Solutions GmbH
10. MDSD benefits
Separation of technical • Automation with generation
aspects and business aspects • Reduced costs, raised productivity
Manage technological change • Improved software-quality
Concepts more stable than • Reduced maintenance costs
technology ==> safer invest • Better reusability
• Reduced development costs
No silver bullet! • Manage high complexity
• Reduced development costs,
Higher effort for spec independence from 3rd
Effort to write generator • Better communication IT & Biz
100% generation not always
feasible
10 arconsis IT-Solutions GmbH
11. Domain Specific Language
A DSL is a formal, processable language targeting at
a specific viewpoint or aspect of a software system
It’s semantics, flexibility and notation is designed in
order to support working with that viewpoint as good
as possible
""Open Source Eclipse Frameworks (EMP):
Xtext: Define grammar + create parser + editor
Xpand, Xtend: Template language for model transformation
11 arconsis IT-Solutions GmbH
12. REST over HTTP …
… is an architectural style that uses HTTP as protocol and URIs
as identification mechanism
… leverages proven web-technologies
.. helps loose coupling (uniform interface)
… achieves interoperability (HTTP, URIs, XML/JSON, HTML, …)
… has only one interface (dataformat needs to be known)
… is performant and scalable (nearly unlimited)
no session + caching highly distributable
12 arconsis IT-Solutions GmbH
REST = Representational State Transfer: Roy Fielding 2000
13. Basic principles of REST
All resources have a unique identifier
Usage of links and hypermedia
Standardized methods
Support different representations
Stateless communication
Wikipedia: „Unlike SOAP-based web services, there is no "official" standard
for RESTful web service. This is because REST is an architecture, unlike SOAP,
which is a protocol. Even though REST is not a standard, a RESTful implementation
such as the Web can use standards like HTTP, URL, XML, PNG, etc.“
13 arconsis IT-Solutions GmbH
14. Unique identifier for resources
Use URIs for all resources worth it (values + sets)
Examples:
http://example.com/customers/1234
http://example.com/orders/2008/10/776654
http://example.com/products
http://example.com/processes/salary-increase-234"
Careful: “It does not mean that every database key
" " " and entity should be exposed as a resource!”
14 arconsis IT-Solutions GmbH
15. Links and hypermedia
“Hypermedia as the engine of application state”
Example:
<order href=‘http://example.org/orders/4711’>
" "<amount>69</amount>
" "<product ref=‘http://example.org/products/0815’ />
" "<customer ref=‘http://example.org/customers/4711’ />
" "<product ref=‘http://example.org/products/0815’ />
" "<link rel= ‘cancel’ ref=‘./cancellations’ />
</order>
Links can span different systems
Control allowed workflow (e.g. cancellation currently allowed)
15 arconsis IT-Solutions GmbH
16. Standardized methods
Every resource supports the same interface
HTTP verbs
GET, PUT, POST, DELETE, HEAD and OPTIONS"
“Guaranteed” behaviour, defined in HTTP specification
Idempotent; safe; cacheable + repeatable
GET/PUT/DELETE (get, modify/create, remove)
Unsafe; can create a resource or can do anything
POST"
16 arconsis IT-Solutions GmbH
Idempotent = Free of side effects. “You can safely repeat the request anytime”
17. WebService + RPC vs. REST
Data types • Different approaches can
be mapped to each other!
Service Design
Operations Instances
"Every app understanding HTTP-protocol can use your application
" allows for generic clients (e.g. curl, wget, proxy-server,
" Google- or Yahoo services, MSN, ...)
17 arconsis IT-Solutions GmbH
18. Resources and representations
Content negotiation in HTTP:
""GET /customers/123 HTTP/1.1
"HOST: example.org
"Accept: application/vnd.mycompany.customer+xml"
Result could be company internal XML format
""GET /customers/123 HTTP/1.1
"HOST: example.org
"Accept: text/x-vcard"
Result could be customer address in vCard format
So many data formats and standards available to use
instead to re-invent!
18 arconsis IT-Solutions GmbH
19. Stateless communication "
“Stateless” does not mean no server-side state but:
“State” is kept in client or transformed in resource-state
on server-side
No transient, client-specific state for longer than one
request on server-side
E.g. “shopping cart” as resource save bookmark,
forward per email
Why?
Scalability
Coupling to clients (subsequent requests can be serverd by
different server nodes)
19 arconsis IT-Solutions GmbH
20. JSR-311 JAX-RS with JBoss RESTEasy
RESTful WebServices implementation for Java to be
included within Java EE 6
Fully certified JAX-RS implementation
Comes with jboss-eap-5.0 download!
20 arconsis IT-Solutions GmbH
21. JBoss RESTEasy
Portable to any app-server/Tomcat that JAXB marshalling into XML, JSON, Jackson,
runs on JDK 5 or higher Fastinfoset, and Atom as well as wrappers
for maps, arrays, lists, and sets of JAXB
Embeddedable server implementation for Objects.
junit testing
GZIP content-encoding. Automatic GZIP
Client framework that leverages JAX-RS compression/decompression suppport in
annotations so that you can write HTTP client and server frameworks
clients easily (JAX-RS only defines server
bindings) Asynchronous HTTP (Comet) abstractions
for JBoss Web, Tomcat 6, and Servlet 3.0
Client "Browser" cache. Supports HTTP 1.1
caching semantics including cache Asynchronous Job Service.
revalidation
Rich interceptor model.
Server in-memory cache. Local response
cache. Automatically handles ETag EJB, Seam, Guice, Spring, and Spring MVC
generation and cache revalidation integration
Rich set of providers for: XML, JSON,
YAML, Fastinfoset, Multipart, XOP, Atom,
etc.
21 arconsis IT-Solutions GmbH
23. iPhonical project
Model Driven Software Development for mobile devices
Extensible modular DSL
Tooling support / editor (Workbench)
Extensible + flexible generator
Open Source (incubation phase):
http://code.google.com/p/iphonical
Idea was to build a framework based on powerful + flexible Eclipse ecosystem
Leverage multi-platfrom support of Titanium Mobile Framework (Apache)
23 arconsis IT-Solutions GmbH
25. Data-driven mobile applications
Skype Typical usage scenario
Contacts
Present list of data
Twitter
Drill-down details
Facebook
LinkedIn Edit details
IPod Perform some action ...
....
25 arconsis IT-Solutions GmbH
26. A Mobile Gateway architecture example
iPhone JBoss AS
Other Applications
(e.g. CRM, ERP, …)
JRMI"
REST/JSON"
Hessian" FTP, RMI"
Android Mobile JBoss ESB
REST Gateway Open Services
on JBoss AS (e.g. Google, Yahoo,
REST/XML"
Amazon,…)
SOAP"
Blackberry REST/XML"
JBoss DS Internal Services
HornetQ (e.g. SOA,
JDBC, SOAP" Database)
REST Client REST Server
26 arconsis IT-Solutions GmbH
27. Putting it all together …
LIVE DEMO !
27 arconsis IT-Solutions GmbH
28. So what did we see?
We defined the domain model of the App
Hit Generate
Hit Simulate we got an ...
„out of the box“ CRUD App
Lead Company Contact
1 1 1 *
28 arconsis IT-Solutions GmbH
29. So what did we see?
We added the REST service definitions
Hit Generate
Hit Simulate we got an ...
„out of the box“ CRUD App
REST client proxies for the mobile device
“Out of the box” REST Gateway running on
JBoss5 AS using RESTEasy
29 arconsis IT-Solutions GmbH
30. So what did we see?
We changed the the controller.js to use the
generate REST client proxy
Hit Simulate we got an ...
„out of the box“ CRUD App
REST client proxies for the mobile device
“Out of the box” REST Gateway running on
JBoss5 AS using RESTEasy
Integrated data-driven remote mobile App
30 arconsis IT-Solutions GmbH
31. What next?
Could use it “as is” for rapid prototyping and scaffolding
Change or extend the generator and the grammar:
"
It’s open source!
Planned changes for this summer:
Concept to re-generate code for client (JS prototypes)
View aspects with UI controls for CUSTOM Apps
Integration with JBossESB DSL (see my last talk)
Cosmetic changes (e.g. Images support)
31 arconsis IT-Solutions GmbH
32. Q&A + contact …
Let us know what you think …
? c/o: Wolfgang Frank
wolfgang.frank@arconsis.com
32 arconsis IT-Solutions GmbH
33. More things to see …
http://rest-http.info"
http://developer.appcelerator.com/"
http://www.json.org"
http://www.jboss.org/resteasy"
http://www.jboss.org/jbossesb"
http://www.jboss.org/jbossas"
http://code.google.com/p/iphonical/"
http://www.arconsis.com ;-)"
33 arconsis IT-Solutions GmbH
34. BACKUP SLIDES
ups!
… Something went wrong so I will need these …
34 arconsis IT-Solutions GmbH