esigate dev meeting 25 03_2013
DESCRIPTION
Slides for the Esigate developer meeting @ Smile. March 23, 2013.TRANSCRIPT
ESIGate dev meeting25/03/2013
François-Xavier BonnetNicolas Richeton
Plan
● Retrospective 2012● Community and references● Roadmap
ESIGate dev meeting - 25/03/2013
● 11/01/2012: ESIGate on Maven central repository
● 25/05/2012: version 3.4 migration to HttpClient cache
● 22/06/2012: 4.0-beta-1 HttpClient 4.2● 10/12/2012: 4.0-beta-2 EventManager● 25/01/2013: 4.0 (final) HttpClient 4.2.3
● 25/01/2013: new website
ESIGate dev meeting - 25/03/2013
Retrospective 2012
ESIGate dev meeting - 25/03/2013
Retrospective 2012
● Apache HttpClient cache● EventManager● Extensions
○ Modularity○ Customize easily without changing esigate-core○ Quick development of new features
● VirtualHosts○ Sélection du provider en fonction de l'entête "Host"
● Uncoupling with Servlet API● Esigate-server
○ java -Desigate.config=esigate.properties -jar esigate-server.jar
● Fixes and unit testsESIGate dev meeting - 25/03/2013
ESIGate 4.0
● Less code in ESIGate● Bug fixes contributed● Unit tests in ESIGate and HttpClient
=> early adopt new versions and snapshots
New features:● staleWhileRevalidate● staleIfError
ESIGate dev meeting - 25/03/2013
Apache HttpClient cache
ESIGate dev meeting - 25/03/2013
Extensions : events
ProxyProcess an incoming request
FragmentRequest a fragment to the cache system
FetchPerform HTTP request to backend
Encoding Read request body
RenderParse and modify response body with all renderers
pre-proxy
post-proxy
pre-render
post-render
encoding
post-fragment
pre-fragmentpre-fetch
post-fetchUser
Backend
Non HTML
Need additional fragment ?
Before 4.0 :● integration tests with cargo-maven2-pluginAfter 4.0 :● integration tests with cargo-maven2-plugin● Unit tests with mocked HttpClient network
layer
=> easier to write and run unit tests
ESIGate dev meeting - 25/03/2013
Unit tests
● New website● References
○ Voyages-SNCF, SNCF.com, HEC, Manitou, Nantes-Métropole, APEC, Carif-Oref
○ Not listed here : submit your projects to the user mailing-list !!!!
● Communication
ESIGate dev meeting - 25/03/2013
References
ESIGate dev meeting - 25/03/2013
New website
● New website● Social networks● References● Referers
ESIGate dev meeting - 25/03/2013
Communication
4.1 : ● Bug fixes : crashs, inconsistent behaviors5.0 :● Improve user experience (development and
administration)● Cleaning (proxy filter, taglibs)6.0 :● New features
ESIGate dev meeting - 25/03/2013
Roadmap
● Can be used with any view framework● Local / cross context includes● Url mappings in esigate.properties (instead
of web.xml)
=> what about JSP, Wicket and JSF modules ?○ Deprecated○ Will generate esi comments only for compatibility○ Removed in future versions
ESIGate dev meeting - 25/03/2013
Proxy filter
● Servlet 3.0 / HttpAsyncClient● Admin console / stats / jmx● Performance● .NET
ESIGate dev meeting - 25/03/2013
New features