Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO...

23
Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis: http://www.atellis.com | Weblog: http://www.rewindlife.com

Transcript of Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO...

Page 1: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Mission Critical Application Architecture and FlashAugust MDCFUG

Chafic Kazoun, Founder and CTO Atellis: http://www.atellis.com | Weblog: http://www.rewindlife.com

Page 2: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

About myself

Chafic Kazoun

Founder and CTO

[email protected]

Atellis (http://www.atellis.com)

Blog (http://www.rewindlife.com)

Page 3: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Outline

Overview of Mission-Critical Applications Why Flash, am I crazy? Introduction to Clinical Skills (Mission Critical Product) Quick Demo of Clinical Skills Exam System Problems we needed to solve Introduction to a state based architecture When to use a state based architecture Brief Back-end implementation overview Flash state loader framework overview What happens in real-time Benefits

Page 4: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

What are Mission-Critical Applications

Definition:

Any application that is critical to the proper running of a business. If this application fails for any length of time you may be out of business. For example, an order-entry system may be considered mission critical if your business relies on taking lots of orders. You don't want your mission critical apps running on junky hardware ... or software for that matter.

Page 5: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Why Flash, am I crazy?

Chernobyl Story

Ease of use, minimal training can reduce human error. Flash allows us to build custom UIs easily Flash isn’t the only thing needed, the back-end has to be

well thought out too

Page 6: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Introduction to the Clinical Skills System

A complete automated system for administering Clinical Skills Exam at University Medical Schools

Requires lots of hardware integration/automation Needs to be easy to use Can never go down, exams are crucial for medical

schools and accuracy/reliability is not mandatory

Page 7: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .
Page 8: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Problems we needed to solve

Flexible system when we want to change the exam flow/interface decencies Scalability, old system ran at 80% cpu usage Reliability, recovering from failures needs to be seamless/automatic or simple

steps Reduce number of personnel required to run the exam System needs to require minimal training

Remote log-in patients Simple interface for running exams, not cluttered, no overload of data Lots of checks behind the scene

Page 9: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Demo of Clinical Skills Exam System

Page 10: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Introduction to a state-based Architecture

My Definition: An architecture where all interface data is simplified into states, and all states are represented in the database

Page 11: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

When to use a state based architecture

Keeping track of states is core to the application Many interfaces will have a set of states that serve a

similar purpose, allowing you to simplify the interface data

Page 12: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

A visual of exam states

Page 13: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

What does state data contain, at least in this implementation

Room setup information (case/project/etc) Different users that are logged in Time Recording status/requirement Status of the room and each interface Session login data, for re-authentication Other misc data needed Streamline the amount of state data that drives the system

Page 14: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

What happens in real-time – Single Interface

Page 15: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

What happens in real-time – Multiple Interfaces

Page 16: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

What Flash needs to do

Ability to render states that the back-end asks it to Maintain a connection with FlashCom to receive updates Load/Unload states Quickly add states Be very flexible

The hardest part in building such applications isn’t the implementation but the architecture

Page 17: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

The Flash state loader framework diagram - simplified

Page 18: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Brief Back-end implementation overview

All available states live in the database and are supported by Flash All flow information is in the database Application server will process requests from Flash and make sure

they are saved in the database Whenever states change, some states require extra work like talking

to hardware/automation. This allows you to flag certain states to be recorded for example

Page 19: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Benefits

Ability to pick up where you left off Restart an interface/computer Switch out machines

Remotely log-in users Remotely control interfaces Completely flexible flows Building states is very easy/quick Very stable/reliable Very scalable Low maintenance, at least for Flash.

Page 20: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Things to watch out for

Maintaining a reliable network connection, auto-reconnect, keep alive Dealing with different network setups/blocked ports/firewalls Flash needs to be pretty dumb The Back-end needs to be very stable Make sure setup is simple Make recovery in simple, no way for you to work around external

problems (hardware/network failures)

Page 21: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Some additional fall-back plans

Clustering the database: Since the database in this scenario is the most important, clustering the database will add an extra level of redundancy

Application Server: Make sure to design the application server in a way that would allow you to cluster it too, depending on what application server technology it may be easy, or it may take a lot of work

FlashCom: FlashCom doesn’t support clustering, currently working on a custom clustering solution but the ability to easily change servers that the client uses allows you to always have a backup server around

Page 22: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

We’re Hiring

We’re Hiring!

Page 23: Mission Critical Application Architecture and Flash August MDCFUG Chafic Kazoun, Founder and CTO Atellis:  | Weblog: .

Chafic Kazoun – [email protected]

Blog: http://www.rewindlife.com

http://www.atellis.com

http://www.blinemedical.com

Feel free to contact me for any details