open source alternaves to lcds: clear...

40
Open Source Alterna/ves to LCDS: Clear Toolkit by Yakov Fain a.k.a. @yfain

Upload: others

Post on 20-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

OpenSourceAlterna/vestoLCDS:ClearToolkit

byYakovFaina.k.a.@yfain

Page 2: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

(c)FarataSystems

FarataSystemsisalwayshappytosharealltechnicalknowledgewe’reblessedwith.

Foralousy$34.95youcangetthisAmazonbestsellerassoonasyougetonline.

Threeofyouwillgetitforfreetoday.

Page 3: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

InthispresoeverythingiseitheralreadyopensourcedorgeGngthere

1. BriefoverviewofClearToolkit3.2components

2. DataSynchronizaMonwithDataCollecMonandChangeObject

3. CRUDgeneraMonwithClearDataBuilder

4. AntgeneraMonwithFx2Ant

5. AcMonScriptDTOgeneraMonwithDTO2FX

6. NewDataFormcomponentforFlex4

7. ReliablemessagingwithBlazeDS

Page 4: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout
Page 5: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

It’sanopensourcetoolkit,thatincludesasetofFlexBuilderpluginsandextendedFlexcomponents.

ClearToolkitincreasesproducMvityoftheenterpriseFlexdevelopers.

Page 6: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

Clear.swclibraryincludesanumberofenhancedFlexcomponentslikeDatagrid,ComboBoxetal.SupportsPDFgeneraMonontheclient.

ClearDataBuilder3.2.1isanEclipsepluginthatallowstogenerateCRUDapplicaMonsforBlazeDSbasedonaJavaDataTransferObjectsoranSQLstatement.

DTO2Fx‐automaMcgeneraMonofAcMonScriptclassesfromtheirJavapeers.

Log4Fxisanadvancedlogger(Eclipseplugin)thatisbuiltontopofFlexloggingAPI.Itautomatesandmaketheloggingprocessmoreflexibleanduserfriendly.

Fx2AntisageneratorofopMmizedANTbuildscriptsforyourFlexBuilderprojects.

AIR/BlazeDSsynchronizaMonsoluMonforoccasionallyconnectedapplicaMons

PDFgeneraMonontheclient(describedindetailinChapter11ofthebook)

ClearToolkit3.2.1includes:

Page 7: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

IlikefreeopensourcesoluMons,butI’msickandMredofworkingwithnotdocumentedso_ware.IsthereanythingtoreadaboutyourgreatClearToolkitthingy?

Page 8: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

DataForm:thisFlex4compaMblecomponentfeatures:

Newformlayouts:VerMcalFormLayoutandHorizontalFormLayoutSupportofDTO‐baseddataProvider

FormandFormItemlevelvaidaMons

ReliableMessagingwithBlazeDS

•  IdenMfyinglostpackagesontheAMFprotocollevel•  AutomaMcresendsoflostpackages

•  Dealingwithout‐of‐sequencemessages

Newaddi/onsinClearToolkit4(Beta):

Page 9: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

DataSynchronizaMonwithBlazeDS/usingDataCollecMon

Page 10: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

• hgp://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/lcdsjavadoc/flex/data/ChangeObject.html:

• getNewVersion(),getPrevVersion()• isUpdate(),isCreate(),isDelete()• getChangedPropertyNames()

• setNewVersion()

• AllchangesarecommunicatedaslistofChangeObjects:• Changesfromclienttoserver

• Changesfromservertoclient

• Responsetochangessentbythisclient(echo)• ProliferaMonofchangessentbyotherclients(push)

• Onlyoriginaldatasetissentascompletelistofrecords–once!

CornerstoneofDataManagement–ChangeObjectInterfaceChangeObject–TheCornerstoneofDataManagement

Page 11: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

• ApplicaMonmaycallcommit()methodtoshipallchangesinoneshot.

• Default–autocommit.

• CustomJavaobjectsbackingDataManagementServicesusuallyprovide amethodreturningthecollecMon,akafillmethod

 amethodprocessingthelistofchangessentfromtheclient,akasyncmethod

JavaBackingofAdobeDataManagementService

CustomDMSAssembler

fill()

sync()

TheJavasideofAdobeDataManagementService

Page 12: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

Clear Toolkit Data Management

•  ClearToolkithgps://sourceforge.net/projects/cleartoolkit/supportsdatasynchronizaMonoverRemoteObjectandConsumer(BlazeDSisenough)

•  Supportsdatapullandserverpush(changes)

•  Enablesclient‐sidemanagedtransacMons:–  transacMonalcommitfromseveralarraycollecMons

–  transacMonalbatchingofanynumberofremoMngoperaMons–  supportshierarchicalnesMngofcollecMons

•  Majorobjects:–  DataCollecMon–  BatchService

Page 13: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

<?xmlversion="1.0"encoding="uo‐8"?>

<mx:ApplicaMonxmlns:mx="hgp://www.adobe.com/2006/mxml"

xmlns:fx="hgp://www.faratasystems.com/2008/components"layout="verMcal"creaMonComplete=“sandwiches.fill()">

<fx:DataCollecMonid="sandwiches"desMnaMon="sandwichDAO"method="getSandwiches"/>

<mx:DataGriddataProvider="{sandwiches}"editable="true">

<mx:columns>

<mx:DataGridColumndataField="sandwichName"headerText="Name"/><mx:DataGridColumndataField="bread"headerText="Bread"/>

<mx:DataGridColumndataField="meat"headerText="Meat"/>

<mx:DataGridColumndataField="spread"headerText="Spread"/>

</mx:columns>

</mx:DataGrid>

</mx:ApplicaMon>

ClearToolkitDataCollecMonSoluMon

Page 14: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

What’s DataCollection? •  com.farata.collec3ons.DataCollec3on–partoftheclear.swc

componentlibrary.

•  DataCollecMonisanextensionofstandardArrayCollecMon

•  Features:–  des/na/onaware‐itknowswheretofillitselffrom(ontheJava

RemoMngside)

–  changetracking‐itrecordsallinteracMveandprogrammaMcchanges

–  sync‐able–itknowstheJavaRemoMngmethodtosubmitallaccumulatedchangestotheserver

–  push‐ready–hasinternalConsumerobjecttoconsumeserver‐pushedchanges,ifany

Page 15: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

DataCollection-inspired derivatives

•  com.farata.remo3ng.BatchService–allowsbatchingofchangestomulMpleDataCollecMonstobesenttotheserverforatomicprocessing

•  CDBplugin: CRUDcodegeneraMonforJavaandFlexwithtwo

starMngpoints: a)SQL–allJavawillbecodegeneratedforyou

or b)JavaDAOandDTO

Page 16: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

DataCollection Use Case

Page 17: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

How to Program a Client-Managed Transaction

•  Haveafillmethod(getEmployee)returningacollecMonofDTOs

•  Have_sync()methodforsimplesynchronizaMon;

•  Have_deleteItems()/_updateItems()/_insertItems()forbatchingofchangesinamaster‐detailscenario

EmployeeDao

getEmployee()

getEmployee_sync()

getEmployee_deleteItems()

getEmployee_insertItems()

getEmployee_updateItems()

Page 18: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

BatchService / Batch Gateway Tandem

•  com.farata.remo3ng.BatchServiceisapartofFarataclear.swc–  AllowstogrouptogetherchangesaccumulatedbymulMpleDataCollecMons: batchService.registerCollecMon(orders,0);//level0‐master batchService.registerCollecMon(orderItems,1);//level1‐details–  AllowstosendthebatchofchangestobeexecutedassingleJTAtransacMonby

theserver: varbatch:Array=batchService.batchRegisteredCollecMons(); batchService.sendBatch(batch)

•  com.farata.remo3ng.BatchGatewayisapartofFaratadaoflex‐runMme.jar,pre‐installeduponconfiguringaCDBproject– ServespreconfigureddesMnaMonthatBatchServicesendshisbatchesto.ExecutesthebatchsequenMally(bydefault–assingleJTAtransacMon)

Page 19: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

publicclassOrderController{ publicfuncMonOrderController(){ orders=newDataCollec/on(); orders.desMnaMon="Order"; orders.method="getOrders"; orderItems=newDataCollec/on(); orderItems.desMnaMon="Order";orderItems.method="getOrderItems"; .... } publicfuncMonfillOrders():void{ orders.fill(); } publicfuncMonfillOrderItems(orderId:String):void{ orderItems.fill(orderId); } }

PreparingaBatchontheClient

Page 20: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

publicclassOrderController{ publicfuncMonOrderController(){ .... batchService=newBatchService(); batchService.registerCollecMon(orders,0);//master batchService.registerCollecMon(orderItems,1);//details,orders } publicfuncMoncommit():void{ varbatch:Array= batchService.batchRegisteredCollecMons(); batchService.sendBatch(batch);//transacMon,bydefault }}

SendingaBatchtotheServer

Page 21: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

Executing a Batch on the Server •  Pre‐builtclasscom.farata.remo3ng.BatchGateway

•  AllowstocallmulMpleremoteJavamethodsinasequenceaccordingtothelistofBatchMember’spreparedinAcMonScript.

•  AllowstowrapsJTAtransacMonaroundthissequence

•  BatchMember:(“desMnaMon”,“method”,[arguments])•  Usecases:batchupdates,batchretrieves

<destination id=“BatchGateway”>

BatchGateway

Methods:executeBatch()

Flex Remoting ActionScript /MXML

BatchService

Methods:send(batch)Events:RESULTFAULT

<mx:Applica=on/>

Page 22: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

UnravellingAutoSync

MessageBroker msgBroker = MessageBroker.getMessageBroker(null); AsyncMessage msg = new AsyncMessage(); msg.setDestination("feed"); // target destination msg.setClientId(UUIDUtils.createUUID(false)); msg.setMessageId(UUIDUtils.createUUID(false)); msg.setTimestamp(System.currentTimeMillis()); msg.setBody(“Pushed Message" ); // arbitrary message msgBroker.routeMessageToService(msg, null);

JavaServerPushtoaFlexmessagingdesMnaMon:

UnravelingAutoSync

Page 23: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

Clear Toolkit 3.2 includes CDB

•  ClearDataBuilder(CDB):

hgp://sourceforge.net/projects/cleartoolkit(Downloads,documentaMon,license)

•  Togetthesourcecode,configureEclipseCVS:–  Host:cleartoolkit.cvs.sourceforge.net–  Repository:/cvsroot/cleartoolkit–  Protocol:pserver–  User:anonymous

•  TogettheFlex4compaMbleversionofCDB,getthenightlybuildatSourceforge:hgp://farata.dynalias.org:9080/cruisecontrol/arMfacts/ClearToolkit.nightly/

Page 24: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

CDB SQL Branch: Complete Automation

Written by developer

AbstractJavaclass:methodsignaturesannotatedwithSQL

JavaImplementaMon

classes

MXML,AcMonScript

classes

Generated by CDB

Pre-built + custom CDB

Templates Assembler

Deployed by CDB JARwith

abstractclasses

JARwithimplementaMon

classes

DAO

ConfigfilesTestMXML

JavaDTOCDB

Page 25: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

CDB SQL Mode

•  CodegeneraMonsoluMonthatcompletelyautomatesmanualJavacodingforCRUD(create,retrieve,update,delete)tasks

•  IntegrateswithEclipseorworksstandaloneasAnttask

•  GoesallthewayfromsimpleannotatedJavaclasstodeployedJARsintheWEB‐INF/lib

•  GeneratesallrequiredJava,AcMonScript,MXML,XML

packagecom.theriabook.datasource;

/***@daoflex:webservice

*pool=jdbc/theriabook*/

publicabstractclassEmployee{/***@daoflex:sql

*sql=select*fromemployeewherestart_date<:startDate*transferType=EmployeeDTO[]

*keyColumns=emp_id*/publicabstractListgetEmployees(DatestartDate);}

•  >

Page 26: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

CDB Java Mode: Partial Automation

Written by developer

AnnotatedJavaDTO+JavaDAOimplemenMngfill()andsync()methods

MXML,AcMonScriptclasses

Generated by CDB

Pre-built + custom CDB

Templates

Assembler

Deployed by CDB JARwith

abstractclasses

JARwithimplementaMon

classes

TestMXMLCDB

Configfiles

Page 27: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

DemoofClearDataBuilderpackagecom.farata.datasource;importjava.uMl.List;/***@daoflex:webservice*pool=jdbc/test*/publicabstractclassEmployee{ /** *@daoflex:sql *pool=jdbc/test *sql=::select*fromemployee *:: *transferType=EmployeeDTO[] *keyColumns=emp_id *updateTable=employee */ publicabstractListgetEmployees(); /** *@daoflex:sql *sql=::select*fromdepartment *:: *transferType=DepartmentDTO[] */ publicabstractListgetDepartments();}

Page 28: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

Farata DTO2Fx Plugin http://sourceforge.net/projects/cleartoolkit/files/ read the doc: DTO2Fx.pdf

•  >

packagecom.farata.test;

importcom.farata.dto2fx.annota/ons.FXClass;importcom.farata.dto2fx.annota/ons.FXIgnore;

@FXClass

publicclassEmployeeDTO{ publicfirstName; privateStringsex;

... privateStringuid;

publiclonggetSex(){ returnsex;

} publicvoidsetSex(Stringsex){

this.sex=sex; }

@FXIgnore publicStringgetUid(){

returnuid; } @FXIgnore

publicvoidsetUid(Stringuid){ this.uid=uid;

}}

packagecom.farata.test{

publicclass_EmployeeDTOextendsflash.events.EventDispatcherimplementsmx.core.IPropertyChangeNo/fier,mx.core.IUID{

@FXClasspublicclassEmployeeDTO{

privatevar_firstName:String; privatevar_sex:String; ...

privatevaruid:String;[Bindable(event="propertyChange")]publicfunc/ongetfirstName():String{return_firstName;}publicfunc/onsetfirstName(value:String):void{constoldValue:String=this._firstName;if(oldValue!=value){this._firstName=value;dispatchUpdateEvent(“firstName",oldValue,value);}}[Bindable(event="propertyChange")]publicfunc/ongetsex():String{return_sex;}publicfunc/onsetsex(value:String):void{constoldValue:String=this._sex;if(oldValue!=value){this._sex=value;dispatchUpdateEvent("sex",oldValue,value);}}

Page 29: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

Creating ANT scripts with FX2Ant Plugin http://sourceforge.net/projects/cleartoolkit/files/ read the doc: Fx2Ant.pdf

AmodularizedFlexapplicaMonconsistsofseveralFlashBuilderprojects.Right‐clickattheFlexprojectandFX2AntgeneratestheANTscript.

Eachoftheindividualprojectsshouldcontainafilebuild.xmltoperformbuildanddeploymentofthisproject.

Oneextrabuildfileisrequiredtorunindividualprojects’buildsinanappropriateorderandtodeploytheenMreapplicaMoninsomepredefineddir,i.e.c:\serverroot

Page 30: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

LoggingwithLog4Fximportmx.logging.Log;importmx.logging.ILogger;privatevarlogger:ILogger=Log.getLogger(”MyStockPoroolio”);

Say,youareconsideringaddingthistracestatementinthefuncMongetPriceQuotes():if(Log.isDebug())logger.debug(”GeGngpricequoteforIBM");

ThismessagewillbesenttothespecifieddesMnaMonselectedwiththeLoggingManager.IfausercallsproducMonsupportcomplainingaboutsomeunexpectedbehavior,askhertopressCtrl+ShiC+Backspace–theloggingmanagerwillpop‐up:

Page 31: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

LoggingwithLog4Fx–sampleoutput

YoucansettheoutputdesMnaMonasRemoteLoggingtowatchtheloginfofromanycomputerconnectedtotheInternet

Page 32: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

ClearToolkit4addiMons

•  ReliableBlazeDSMessaging

•  Newspark‐basedcomponents,i.e.DataForm

Page 33: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

ClearToolkit4:DataForm

•  IntroducesVer/calFormLayoutandHorizontalFormLayoutforautowidthadjustmentofeachDataFormItemelementanditslabel.

•  MulMlinelabelsaresupported

•  SupportsDataTransferObjectasdataProvider

•  FeaturesadvancedformvalidaMon:validateForm()andresetValida/on()

•  Offersaform‐levelisValidproperty..

Page 34: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

DemoofDataForm

Page 35: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

UnreliableMessaging•  YouaredevelopingandtesMngFlex/BlazeDSinaLANenvironment.

•  ItshouldworkinWANtoo

Yeah,right!Whatifthere’sathunderstorminthearea?Willtheclientreceiveallnetworkpackages?

WhatiftheAshholevolcanoeruptsagain?

Page 36: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

UnreliableMessagingandCommonWANProblems

Problem Probability(typicalforUSconsumermarket)

Lostpackagesgoingtoserver High(<.2%)

Lostpackagesgoingtoclient Medium(<.02%)

Messagesoutoforder Low

Messagesduplicated Low

Messageerror(corruptedbits) Verylow

TesMngonalocal/reliablenetworkdoesnotexhibitanyWANproblems

Page 37: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

NetworkProblemsSimulaMon

•  So_wareonly–ShunraDesktop

•  Dedicatedhardwareappliance–Maxwellmini

•  ACustomenvironment–usuallyaLinuxboxwithmulMplenetworkportsconfiguredasbridgeusingnetem(aNetworkEmulaMonfuncMonalityforemulaMngtheproperMesofWAN)

ClearToolkit4willincludethetestclientallowingtoemulateproblems(willdemotoday)

Page 38: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

HowweimplementedReliableMessaging

•  WeareimplemenMngreliablemessagingontheAMFprotocollevel

•  ThemessagesarebeingheldbothonclientandserverMllthey’reconfirmed

•  MessagesaresequenMallynumberedtoprocessout‐of‐ordermessages

•  StandardBlazeDSchannel/endpointaresubclassedwithReliableAMFChannelandReliableAMFEndpoint

Page 39: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

DemoofReliableMessaging

Page 40: Open Source Alternaves to LCDS: Clear Toolkitmyflex.org/presentations/FlashAndTheCity2010_yakov_fain.pdf · Flex 4 compable component features: New form layouts: VercalFormLayout

Contactinfoandusefullinks

ClearToolkitFramework:hgp://sourceforge.net/projects/cleartoolkit/

O’ReillyBook“EnterpriseDevelopmentwithFlex”:hgp://bit.ly/bDg7IR

Email:[email protected]

Website:hgp://www.faratasystems.com

FlexBlog:hgp://flexblog.faratasystems.com