als brochure downloaden

195
SpriralTrain BV Standerdmolen 10, 2e verdieping. 3995 AA Houten [email protected] www.spiraltrain.nl Tel.: (0)30 737 0661 Fax: (0)30 737 1050 KvK nr. : 61618039 BTW nr. : NL854415798B01 IBAN : NL58RABO0156271540 BIC : RABONL2U 530: Course Advanced Java and Performance Code: 530 Duur: 6 dagen Prijs: Audience Experienced Java developers who want to learn more advanced aspects of Java. Prerequisites Knowledge of the Java language and syntax and basic experience in Java programming is required to participate in this course. Realization The theory is treated on the basis of presentation slides and is interspersed with exercises. Demos are used to clarify the theory. The course material is in English Contents In the course Advanced Java Programming a series of advanced aspects of Java are on the agenda. The various ways in which Java applications can communicate over the network are discussed. In particular the subjects sockets and Remote Method Invocation (RMI) are treated. Moreover attention is paid to the advanced multithreading and synchronization capabilities such as those in the concurrency package introduced since Java 5. Also the JMX API for local and remote management and monitoring of Java applications is addressed. Furthermore the reflection feature by which compiled Java classes can be analyzed programmatically. Next database access with Java Database Connectivity with JDBC is treated and also how Java applications can call C and C++ code via the Java Native Interface (JNI). Various aspects of memory management and logging are discussed as well. And after the discussion of the new IO API, the interaction between Java and XML is on the schedule. Attention is paid to the streaming API (Stax) where the application has control over the XML access and to the static Java API for XML Binding (JAXB) where Java binding classes are generated for specific XML documents. Finally Web Services, possible since Java 6 in the Standard Edition, will be discussed. Also various aspects of performance in general are treated, such as perceived performance and memory footprint and then aspects of Java performance in particular such as the hotspot JVM and garbage collection. Next attention is paid to the different benchmarks for Java and the various phases of the performance process such as performance monitoring, profiling and tuning. Also a number of specific performance techniques that can be applied to Java code are discussed. The performance impact of various constructs in the Java language and various classes of the Java API are discussed as well. Furthermore, you learn how to deal with performance tools such as a profiler in order to identify performance bottlenecks. In this respect attention is paid to profiling points, time measurements and the detection of memory leaks. Stress testing Web Applications is discussed as well. Finally, special attention goes to performance issues with JDBC and performance in a Java EE environment. Herewith the configuration of pools, caches and the use of load balancing and clustering techniques are treated. Module 1 : Java Networking Module 2 : Concurrency Module 3 : Java Management Extensions Java Networking Intro Network Protocols Using URL Class Reading from an URL InetAddress Class Sockets Socket Communication Socket Types Socket Ports ServerSocket Class Socket Class Datagram Sockets DatagramPacket Class Multicast Sockets Socket Programming Concurrency Package Concurrency Package Benefits Contents Concurrency Package Task Scheduling Framework Executor Interface ExecutorService Executors Class Callables and Futures ScheduledExecutorService Synchronizers Semaphores CountdownLatch CyclicBarrier Exchanger Concurrent Collections BlockingQueue Interface Lock Interface Atomic Variables What is JMX? JMX Goal JMX Usage Managed Beans MBean Flavors JMX Architecture Levels JMX Architecture MBeans Instrumenting JVM Accessing JMX Agent Standard MBeans Naming MBeans MBean Server MBean Server Interface Registering MBeans JMX Notifications Notification Class Notification Listeners Module 4 : Reflection Module 5 : Remote Method Invocation Module 6 : Database Access with JDBC What is Reflection? Reflection Classes Class Loading Creating Objects Reflection Methods in Class Field Class Field Class Usage Constructor Class Constructor Class Usage Method Class Method Class Usage AccessibleObject Class Dynamic Proxies Invocation Handler What is RMI? RMI Characteristics RMI Architecture Remote Interface Stubs and Skeletons Remote Object Remote Object Registration RMI Client Exporting Objects Locating Remote Objects RMI Control Flow Serialization Parameter Passing Dynamic Class Loading Activation JDBC Architecture JDBC Drivers and URL’s Database Connections Executing Statements Querying Databases Update Statements Retrieving Results Handling Errors Prepared Statements Database Metadata Transactions Commit and Rollback Rowset Interfaces Using RowsetProvider

Transcript of als brochure downloaden

SpriralTrain BVStanderdmolen 10, 2e verdieping.3995 AA Houten

[email protected].: (0)30 737 0661Fax: (0)30 737 1050

KvK nr. : 61618039BTW nr. : NL854415798B01IBAN : NL58RABO0156271540BIC : RABONL2U

530: Course Advanced Java and PerformanceCode: 530 Duur: 6 dagen Prijs: €

AudienceExperienced Java developers who want to learn more advanced aspects of Java.

PrerequisitesKnowledge of the Java language and syntax and basic experience in Java programming is required to participate in this course.

RealizationThe theory is treated on the basis of presentation slides and is interspersed with exercises. Demos are used to clarify the theory. The course material is in English

ContentsIn the course Advanced Java Programming a series of advanced aspects of Java are on the agenda. The various ways in which Java applications can communicateover the network are discussed. Inparticular the subjects sockets and Remote Method Invocation (RMI) are treated. Moreover attention is paid to the advanced multithreading and synchronizationcapabilities such as those in the concurrency package introduced since Java 5. Also the JMX API for local and remote management and monitoring of Javaapplications is addressed. Furthermore the reflection feature by which compiled Java classes can be analyzed programmatically. Next database access with JavaDatabase Connectivity with JDBC is treated and also how Java applications can call C and C++ code via the Java Native Interface (JNI). Various aspects of memorymanagement and logging are discussed as well. And after the discussion of the new IO API, the interaction between Java and XML is on the schedule. Attention ispaid to the streaming API (Stax) where the application has control over the XML access and to the static Java API for XML Binding (JAXB) where Java binding classesare generated for specific XML documents. Finally Web Services, possible since Java 6 in the Standard Edition, will be discussed. Also various aspects ofperformance in general are treated, such as perceived performance and memory footprint and then aspects of Java performance in particular such as the hotspot JVMand garbage collection. Next attention is paid to the different benchmarks for Java and the various phases of the performance process such as performancemonitoring, profiling and tuning. Also a number of specific performance techniques that can be applied to Java code are discussed. The performance impact ofvarious constructs in the Java language and various classes of the Java API are discussed as well. Furthermore, you learn how to deal with performance tools such asa profiler in order to identify performance bottlenecks. In this respect attention is paid to profiling points, time measurements and the detection of memory leaks. Stresstesting Web Applications is discussed as well. Finally, special attention goes to performance issues with JDBC and performance in a Java EE environment. Herewiththe configuration of pools, caches and the use of load balancing and clustering techniques are treated.

Module 1 : Java Networking Module 2 : Concurrency Module 3 : Java Management Extensions

Java Networking IntroNetwork ProtocolsUsing URL ClassReading from an URLInetAddress ClassSocketsSocket CommunicationSocket TypesSocket PortsServerSocket ClassSocket ClassDatagram SocketsDatagramPacket ClassMulticast SocketsSocket Programming

Concurrency PackageConcurrency Package BenefitsContents Concurrency PackageTask Scheduling FrameworkExecutor InterfaceExecutorServiceExecutors ClassCallables and FuturesScheduledExecutorServiceSynchronizersSemaphoresCountdownLatchCyclicBarrierExchangerConcurrent CollectionsBlockingQueue InterfaceLock InterfaceAtomic Variables

What is JMX?JMX GoalJMX UsageManaged BeansMBean FlavorsJMX Architecture LevelsJMX ArchitectureMBeans Instrumenting JVMAccessing JMX AgentStandard MBeansNaming MBeansMBean ServerMBean Server InterfaceRegistering MBeansJMX NotificationsNotification ClassNotification Listeners

Module 4 : Reflection Module 5 : Remote Method Invocation Module 6 : Database Access with JDBC

What is Reflection?Reflection ClassesClass LoadingCreating ObjectsReflection Methods in ClassField ClassField Class UsageConstructor ClassConstructor Class UsageMethod ClassMethod Class UsageAccessibleObject ClassDynamic ProxiesInvocation Handler

What is RMI?RMI CharacteristicsRMI ArchitectureRemote InterfaceStubs and SkeletonsRemote ObjectRemote Object RegistrationRMI ClientExporting ObjectsLocating Remote ObjectsRMI Control FlowSerializationParameter PassingDynamic Class LoadingActivation

JDBC ArchitectureJDBC Drivers and URL’sDatabase ConnectionsExecuting StatementsQuerying DatabasesUpdate StatementsRetrieving ResultsHandling ErrorsPrepared StatementsDatabase MetadataTransactionsCommit and RollbackRowset InterfacesUsing RowsetProvider

Module 7 : Memory Management Module 8 : Java Native Interface (JNI) Module 9 : Java Logging

JVM Internal ArchitectureJava Memory ManagementObject LifecycleStrong Object ReferencesInvisible and UnreachableCircular ReferencesGarbage CollectionGenerational GCHeap Space OrganizationGC AlgorithmsSerial CollectorParallel CollectorReference ObjectsSoft and Weak ReferencesPhantom ReferencesFinalization

Java Native InterfaceJava to CC to JavaJNI BoundaryHeader FilesRequired ParametersJava LanguageWriting Native MethodsDeclaring Native MethodsJNIEnv Interface PointerMapping TableAccessing Java StringsJNI FunctionsAccessing Arrays

LoggingLogging in JavaJava Util LoggingLevels and Log MethodsLogging Configurationlog4j Characteristicslog4j ConfigurationLoggersLogger Output HierarchyInheriting Logging LevelsLogger NamesLog LevelsAppenders and LayoutsLog Analyzer Tools

Module 10 : New IO Module 11 : Java API XML Binding (JAXB) Module 12 : Java Performance

What is NIO?Synchronous I/O ProcessingAsychronous I/O ProcessingWorking with BuffersIO ChannelsSelectable ChannelsSelectorsSelection KeysCharacter SetsUsing Path ClassDirectory TraversingPathMatcher classUsing WatchService

XML Processing OptionsWhat is JAXB?JAXB versus DOM and SAXJAXB Design GoalsBuilding JAXB ApplicationsJAXB ArchitectureJAXB Binding Life CycleRole of Binding CompilerXML tot Java Mapping RulesMapping of XML Schema TypesBinding Elements and AttributesNamed Complex TypesCustomized MappingsAdapter ClassesJAXB Annotations TypesJAXB API

What is Performance?Influences on PerformanceImportant Performance AspectsHistory of Java PerformanceJIT Compilation and JIT CompilerClient and Server Hotspot VMGarbage CollectionGarbage Collection AlgorithmsJava Performance MythsPerceived PerformanceBenchMarkingMonitoring and ProfilingPerformance TuningHeap TuningApplication Performance ProcessHeap Activity MonitoringCommon Performance ProblemsJava Performance Tips

Module 13 : Java API Performance Module 14 : Performance Profiling Module 15 : Tuning Garbage Collection

Java API Performance PitfallsString HandlingBuffered I/ONew I/OSynchronizationConcurrency PackagePrimitives versus WrappersCollectionsArray CopyingException HandlingSerializationNative methodsLazy LoadingObject Reuse

ProfilingProfiling toolsNetbeans ProfilerSun Studio AnalyzerCPU profilingCPU Profiling ApproachProfiling a subsetProfiling PointsType of Profiling PointsMonitoring ThreadsLock contentionIdentifying problematic patternsStress Testing

GC and PerformanceJava Object BehaviorHeap Space OrganisationHeap Area CharacteristicsYoung Generation LayoutGC Performance MetricsUsed GC AlgorithmsPerformance ConsiderationsSerial collectorParallel collectorParallel compact collectorConcurrent Mark-Sweep (CMS)Ergonomics

Module 16 : JDBC and Java EE Performance

JDBC OptimizationOptimization TechniquesJDBC connection poolingSingle Batch TransactionsSmart QueriesTuning Servlets and JSP’sHTTP Session TuningWeb Server TuningClusteringClustering TypesLoad BalancingSticky Sessions

ADE100: Cursus Object OrientationCode: ADE100 Duur: 1 dag Prijs: € 499

Doelgroep Cursus Object Orientation Deze cursus is bedoeld voor mensen die vertrouwd willen raken met de basisbegrippenvan object georiënteerde systeemontwikkeling.

Voorkennis Object OrientationVoor deelname aan deze cursus zijn geen specifieke vaardigheden nodig. Algemenekennis van systeem ontwikkeling is nuttig voor een goede begripsvorming.

Uitvoering Training Object OrientationDe theorie wordt behandeld op basis van presentatie slides. Demos en oefeningenworden gebruikt om de theorie te illustreren. De cursustijden zijn van 9.30 tot 16.30.

Certificering Object OrientationDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatObject Orientation.

Inhoud Cursus Object OrientationDeze cursus behandelt de basisconcepten van object oriëntatie, zoals objecten, classes,messaging, encapsulation, polymorfisme en abstractie. Na een inleiding waarin wordtuitgelegd hoe men tot oriëntatie object is gekomen, wordt besproken wat classes zijn, hoeobjecten kunnen worden geïnstantieerd uit classes en hoe de verantwoordelijkheid voor data opslag en verwerking aan classes kan worden toegewezen. Ookworden bekende object georiënteerde concepten als encapsulation, inheritance, polymorfisme, interfaces en abstracte classes toegelicht en gedemonstreerd. Derelaties die tussen classes kunnen bestaan, zoals associatie, aggregatie en compositie komen eveneens aan bod. Tot slot wordt aandacht besteed aan de standaardmethoden en technieken van object georiënteerd systeem ontwerp en modellering met UML.

Module 1 : Intro Object Orientation Module 2 : Classes and Objects Module 3 : Object Oriented Concepts

Characteristics of SoftwareSoftware CrisisObject Oriented ParadigmObject Orientation in Software ProcessDomain AnalysisRequirements GatheringUse Case AnalysisUse Case DiagramsObject Orientation in Software DesignObjects as Domain ConceptsObjects as Program ConceptsReusabilityObject Oriented Programming ParadigmUnstructured ProgrammingProcedural ProgrammingObject Oriented Programming

AbstractionAbstraction in Object OrientationProcedural versus OO ViewObjectsClassesInstance variablesMethods and OperationsClass or Instance?Identifying ClassesIdentifying AttributesAssign Responsibilities to ClassesIdentifying OperationsPrototyping on paperCRC CardsConstructorsCreating ObjectsUsing Objects

Object Orientated ConceptsOther Key ConceptsEncapsulationAccess ControlClass Fields and MethodsInheritanceInheritance HierarchyIs a ruleMethod OverloadingMethod OverridingPolymorphismPolymorphism ExampleAbstract ClassesInterfacesInterface ImplementationDynamic Binding

Module 4 : Object Oriented Modeling

Object Oriented Modeling with UMLUML Diagrams and ViewsStatic ModelingClass DiagramGeneralizationsAvoid Unnecessary GeneralizationsAssociationsIdentifying AssociationsAggregationCompositionObject DiagramsAssociations versus GeneralizationsInterfacesDynamic ModelingInteraction DiagramsSequence Diagrams

ADE200: Cursus UML OverviewCode: ADE200 Duur: 1 dag Prijs: € 499

Doelgroep UML Cursus Developers, designers, architecten, managers en andere geïnteresseerden die eenoverzicht willen krijgen van de Unified Modeling Language (UML) standaard voor hetmodelleren van systemen.

Voorkennis Cursus UMLKennis van en ervaring met systeemontwikkeling en object oriëntatie is gunstig voor eengoede begripsvorming, maar is niet strikt noodzakelijk.

Uitvoering Training UML OverviewDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Illustratieve UML modellen worden gebruikt als demonstratie van deconcepten. De cursustijden zijn van 9.30 tot 16.30.

Certificering Cursus UML OverviewDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat UMLOverview.

Inhoud UML CursusDeze cursus geeft een overzicht van de UML taal voor het modelleren van systemen. DeUML syntax, symbolen, diagrammen en views worden besproken. Na een inleiding over de UML specificatie en de betekenis van UML als meta taal, wordt in decursus ingegaan op Structural Modeling en de diagrammen die daarbij worden gebruikt zoals zoals class en object diagrammen en component en deploymentdiagrammen. Ook domain modellering en het modelleren van de mogelijke relaties tussen de classes zoals inheritance, associaties, aggregaties, composities endependencies worden besproken. Vervolgens wordt aandacht besteed aan Use Case Modeling, het Use Case Diagram, de rol van de actors en de preciezebeschrijving van de stappen in de interactie. Ook het modelleren van het dynamische gedrag van systemen, Dynamic Behavior Modeling, met de bijbehorendeinteractie diagrammen zoals sequence diagrammen en collaboratie diagrammen komt aan de orde. De modellering van system states middels state charts, hetverschil tussen passieve en actieve objecten en de rol van threads zijn eveneens onderdeel van de cursus. En er is aandacht voor de rol van activity diagrammenwaarin begrippen als control en data flow en swim lanes worden besproken. Tenslotte staan een aantal geavanceerde UML concepten zoals packages ensubsystems, het gebruik van stereotypes, constraints, tagged values en de Object Constraint Language (OCL) op het programma.

Module 1 : UML Introduction Module 2 : Structural Modeling Module 3 : Use Case Modeling

UML languageModeling reasonsUML GoalsUML SpecificationUML Building BlocksWell Formedness RulesSemantic RulesSyntactic RulesMetamodel ArchitectureUML Metamodel Layer

Structural Modeling?Core elementsCore RelationshipsStructural DiagramsClasses and ObjectsTypesInterfacesAssociationsCompositionGeneralizationDependenciesPackagesLinksComponent DiagramsDeployment DiagramsWhen to model StructureStructural Modeling Tips

Use Case Modeling?Core ElementsCore RelationshipsUse Case DiagramUse Case RelationshipsActor RelationshipsUse Case DescriptionWhen to model Use CasesUse Case Modeling Tips

Module 4 : Interactions Module 5 : State Machines Module 6 : Activity Graphs

InteractionsCore ElementsCore RelationshipsInstances and LinksSequence DiagramsCollaboration DiagramsArrow LabelKinds of ArrowsRecursionsConditionsWhen to model InteractionsModeling Tips

State Machine ConceptsState Machine DiagramDiagram ElementsState Machine UsageEvent Driven BehaviorState Machines and ObjectsObject BehaviorObjects and ThreadsPassive ObjectsActive ObjectsEntry and Exit ActionsOrder of ActionsInternal TransitionsState ActivitiesGuardsHistory States

Activity Diagram ApplicationsControl FlowObject and Data FlowState MachineBasis in State MachinesSteps in Activity DiagramsActions and Sub ActivitiesCoordinating StepsDecisionsSync StateConvenience FeaturesSwimlanesWhen to use Activity DiagramsModeling Tips Activity Diagrams

Module 7 : Advanced Concepts

Model Management

PackagesCore ConceptsVisibilityImport and AccessPackage InheritanceSubsystemsSpecification and RealizationExtension MechanismsSemantic Variations in UMLStereotypesConstraintsTagged ValuesProfilesObject Constraint Language (OCL)

ADE300: Cursus Object Oriented Analysis en DesignCode: ADE300 Duur: 5 dagen Prijs: € 2250

Doelgroep Cursus Object Oriented Analysis en Design Deze cursus is bedoeld voor developers en architecten die object georiënteerde analyseen design technieken en UML willen leren.

Voorkennis Object Oriented Analysis en DesignOm aan deze cursus deel te kunnen nemen is kennis van de basis principes van objectoriëntatie en ervaring in object-georiënteerde software ontwikkeling wenselijk.

Uitvoering Training Object Oriented Analysis en DesignDe stof wordt behandeld aan de hand van presentatie slides. Tijdens de cursus wordenoefeningen gedaan met twee case studies die van requirements tot ontwerp wordenuitgewerkt. Een modern UML tool wordt gebruikt om UML diagrammen te tekenen. Decursustijden zijn van 9.30 tot 16.30.

Certificering Object Oriented Analysis and DesignDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatObject Oriented Analysis and Design.

Inhoud Cursus Object Oriented Analysis en DesignIn deze cursus leren de deelnemers de object georiënteerde manier van denken en detechnieken voor het analyseren, ontwerpen en modelleren van een software systeem als een verzameling samenwerkende objecten. De UML taal loopt als een rodedraad door de cursus heen. Na een introductie en overzicht van de belangrijkste object georiënteerde concepten en principes, wordt de moderne methodiek vaniteratieve en incrementele systeem ontwikkeling besproken. Vervolgens wordt aandacht besteed aan hoe de requirements van een systeem kunnen wordengeanalyseerd en hoe de typische vormen van systeem gebruik kunnen worden beschreven met use cases. Na een overzicht van UML wordt besproken hoe eendomain model kan worden opgesteld, hoe de verschillende objecten kunnen worden onderscheiden met hun respectievelijke attributen en relaties en welkeinformatie ze uitwisselen. Er wordt aandacht besteed aan hoe verantwoordelijkheden kunnen worden toegewezen aan objecten en hoe deze door interactiemodellering vertaald en gevisualiseerd kunnen worden met sequence en collaboration diagrammen en state charts. De verschillende design patterns die in ditproces kunnen worden gebruikt worden ook besproken. En ook de vertaling van het domain analysis model naar een design class model is onderdeel van de cursusinclusief het ontwerp van een logische architectuur met packages en subsystems en de mapping naar code. De cursus gaat ook in op architectural design waarbijcomponent en deployment diagrammen worden gebruikt. Tot slot wordt het belang van design patterns voor het implementeren van standaard oplossingenbenadrukt.

Module 1 : Software Process Module 2 : Requirements Analysis Module 3 : Use Case Modeling

Software Development ProcessSoftware Development PhasesGood Software CharacteristicsBuilding Good SoftwareCapability Maturity ModelIterative DevelopmentIncremental DevelopmentRequirements CapturingRequirements Analysis ProcessSystem DesignTest Driven DevelopmentWaterfall ModelEvolutionary DevelopmentSoftware ErrorsUnified ProcessUP PhasesOO Analysis and Design

Understanding RequirementsVision DocumentsRequirement Analysis ActivitiesRequirement TypesFunctional RequirementsNon-Functional RequirementsRequirements DeterminationRequirements ClassificationRequirements SpecificationConflicting RequirementsRequirements RisksThe glossary

Use CasesActorsUse Case ModelingIdentifying ActorsSystem Context DiagramIdentifying Use CasesUse Case DiagramUse Case Modeling StepsHigh Level Use CasesExpanded Use CaseUse Case TemplateBranching with IfAlternative PathsScenariosStructuring Use Case ModelGeneralizationsinclude and extends

Module 4 : UML Overview Module 5 : Domain Modeling Module 6 : Use Case Realization

What is UML?UML HistoryUML Design GoalsUML DiagramsUML ViewsUse Case ViewLogical ViewComponent ViewDeployment ViewNotes and AdornmentsStereotypesTagged ValuesContraintsSystem Sequence Diagrams

Why Domain Modeling?Domain ModelConceptual ClassesNoun IdentificationPhysical and Conceptual ObjectsFilter RulesSimilar Conceptual ClassesTypes of ClassesDomain Analysis ClassesUML Notation and ClassesLowering Representational GapFinding AssociationsRoles in AssociationsMultiplicity and AssociationsGeneralization and SpecializationAggregation and CompositionFinding AttributesAssociation Classes

Realizing RequirementsSystem BehaviorInput Events and OperationsSequence of EventsEvent Trace DiagramSystem Sequence DiagramsScenario with EventsDerivation from Use CaseNaming System OperationsRecording System OperationsContract SectionsPostconditionsResponsibility Driven DesignClass ResponsibilitesClass CollaborationsInteraction DiagramsSequence DiagramsGrasps Design Patterns

Module 7 : Statecharts Module 8 : Design Model Module 9 : Architectural Design

State Machine ConceptsState Machine DiagramDiagram ElementsState Machine UsageEvent Driven BehaviorState Machines and ObjectsObject BehaviorObjects and ThreadsPassive ObjectsActive ObjectsEntry and Exit ActionsOrder of ActionsInternal TransitionsState ActivitiesGuardsHistory States

Transition to DesignFrom Requirements to DesignClass Design DiagramsThe Design ModelDesign AspectsDesign Model CharacteristicsMapping to CodePackagesPackage DesignPackaging GuidelinesData Access Class PackagesSubsystems

System PartitioningLarge Scale Element CollaborationConsider LayeringLayers and PackagesSimple Logical ArchitectureConsider Coordination LayerWeb Application ArchitectureConsider MVC ArchitecturePackage DependenciesOrdering WorkLoad Test EarlyClusteringVertical ScalingHorizontal ScalingPhysical Architecture

Module 10 : Applying Design Patterns

What are Patterns?Creational PatternsBehavioral PatternsStructural PatternsArchitectural PatternsSingletonAbstract FactoryFactory MethodReducing DependenciesObserver PatternAdapter PatternFaÇade patternProxy Pattern

ADE400: Cursus Design PatternsCode: ADE400 Duur: 3 dagen Prijs: € 1750

Doelgroep Cursus Design Patterns Ervaren developers en software architecten met kennis van object georiënteerdprogrammeren en systeemanalyse die Design Patterns willen toepassen bij hetontwerpen van deze systemen.

Voorkennis Design PatternsKennis van een object georiënteerde programmeertaal zoals C++, C# of Java en ervaringmet object georiënteerde analyse en design met UML is vereist.

Uitvoering Training Design PatternsDe concepten worden behandeld aan de hand van presentatie slides. De theorie wordtgeïllustreerd met demo’s van patterns in C++, C# en Java. Er zijn oefeningen in designproblemen waarbij patterns worden toegepast. De cursustijden zijn van 9.30 tot 16.30.

Certificering Design PatternsDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatDesign Patterns.

Inhoud Cursus Design PatternsIn deze cursus leert u hoe design patterns kunnen worden toegepast bij het objectgeoriënteerd ontwerpen van systemen. Na een inleiding over de rol die design patterns spelen en hoe ze kunnen worden gebruikt om de non functional requirementsvan systemen te realiseren, wordt aandacht besteed aan hoe design patterns beschreven en gecatalogiseerd worden. Ook de rol van design patterns in dearchitectuur van applicaties wordt besproken evenals de verschillende categorieën van design patterns die kunnen worden onderscheiden. In de module CreationalPatterns komen de Factory patterns en het Builder, Prototype en Singleton pattern aan de orde. U leert uit welke classes, relations, responsibilities en collaboratieseen typische design pattern oplossing kan bestaan. Vervolgens worden in de module Structural Patterns van het Adapter, Composite, Bridge, Decorator, Proxy enFlyWeight pattern besproken. U leert wat de gevolgen zijn van de toepassing van de design patterns, de voordelen en mogelijke nadelen wat betreft tijd en ruimte enwelke overwegingen u kunt hanteren om een bepaald attern te gebruiken. Vervolgens worden in de module Behavioral Patterns de Chain of Responsiblity,Interpreter, Iterator, Mediator, State en Strategy patterns besproken. En tot slot worden in de module Architectural Patterns patterns besproken die betrokken zijn bij dearchitectuur van software, waaronder Operating Systems en Frameworks. Deze module richt zich onder andere op het Layer pattern, het Micro Kernel pattern en hetModel View Controller (MVC) pattern.

Module 1 : Intro Design Patterns Module 2 : Creational Patterns Module 3 : Structural Patterns

What is a design pattern?Describing design patternsReuse through design patternsStructure of patternsClassification of patternsCatalog of Design PatternsCreational PatternsStructural PatternsBehavioral PatternsSample design patternsSelecting Design PatternsSolving problems with design patterns

Factory PatternsFactory Method PatternProvide hooks for subclassesConnect parallel class hierarchiesAbstract Factory PatternEncapsulating Implementation DependenciesConcrete Class IsolationExchanging Product FamiliesPromoting ConsistencyBuilder PatternVary Internal RepresentationIsolate construction codeControlling the build processPrototypeAdding products at run-timeReduced SubclassingDynamic configurationSingleton PatternControlled accessReduced name space

Adapter PatternPluggable AdaptersTwo-way adaptersBridge AdaptersDecoupling interface and implementationImproved ExtensibilityHiding Implementation DetailsComposite PatternExplicit parent referencesSharing ComponentsDecorator PatternImproved flexibilityLots of little objectsFaÇade PatternReducing client-subsystem couplingPublic subsystem classesPrivate subsystem classesFlyweight PatternReducing number of instancesProxy PatternRemote ProxiesVirtual ProxiesCopy-on-write

Module 4 : Behavioral Patterns Module 5 : Architectural Patterns

Chain of responsibilityReduced CouplingNo guaranteed receiptCommand PatternDecoupling ObjectsUse of callback functionsSupporting undo and redoAvoiding error accumulationInterpreter PatternImplementing GrammarsGrammar ChangesAbstract syntax treeIterator Pattern

Architectural patterns versus design patternsPatterns for real-time softwareLayersPipes and FiltersBlackboardBrokerModel-View-ControllerPresentation-Abstraction-ControlMicrokernelReflection

Controlling iterationTraversal algorithmMediator PatternLimiting subclassesSimplification of object protocolsMemento PatternPreserving Encapsulation BoundariesStoring incremental changesObserver PatternSubject and receiverBroadcast CommunicationState PatternState transitionsSharing State ObjectsStrategy PatternContext interfacesTemplate parametersTemplate Pattern

ADE500: Cursus Model Driven ArchitectureCode: ADE500 Duur: 1 dag Prijs: € 499

Doelgroep Cursus Model Driven Architecture Ervaren developers en architecten die willen leren over Model Driven Development en deModel Driven Architecture (MDA) en die MDA willen gebruiken bij de ontwikkeling en hetdesign van applicaties.

Voorkennis Model Driven ArchitectureOm aan deze cursus te kunnen meedoen is kennis en ervaring met systeem ontwikkelingen object georiënteerde principes en UML vereist.

Uitvoering Training Model Driven ArchitectureDe cursus heeft een hands-on karakter. De theorie wordt behandeld aan de hand vanpresentatie slides en wordt afgewisseld met demo’s en oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Certificering Model Driven ArchitectureDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatModel Driven Architecture.

Inhoud Cursus Model Driven ArchitectureIn de cursus Model Driven Architecture leer je de principes achter Model DrivenDevelopment en de Model Driven Architecture (MDA). Na een inleiding over de verschillende Model en Metadata specificaties van de OMG, worden de voordelenvan het gebruik van MDA besproken en worden de belangrijkste kenmerken van DSL’s, Domain Specific Languages, uitgelegd. Aandacht wordt besteed aan deMDA specificaties en technologieën die MDA mogelijk maken en ondersteunen zoals UML, Object Constraint Language (OCL) en XMI. Ook meta modeling en deMeta Object Facility (MOF) zijn onderwerpen in de cursus. Verder wordt aandacht besteed aan het MDA proces en de rol van het Platform Independent Model en hetPlatform Dependent Model. In dit verband wordt de ondersteuning die verschillende tools bieden voor Model Transformations en code generatie besproken. Deimplementatie van een gedeelte van MDA in het Eclipse Modeling Framework is eveneens een onderdeel van de cursus stof. Zowel UML diagrammen, Javainterfaces en XML Schema worden gebruikt als input voor de modellen. Tenslotte wordt de Microsoft aanpak van Model Driven Development besproken, zoalsgedemonstreerd in het Oslo Modeling project of SQL Server Modeling. De verschillende M-talen worden uitgelegd en gedemonstreerd.

Module 1 : MDA Introduction Module 2 : OMG Standards Module 3 : MDA

What is Modeling?Models are EverywhereObject Management Group (OMG)Who are OMG?OMG Model and Metadata SpecificationsCORBAWhat is MDAMDA CharacteristicsKernel Idea of MDAMDA DirectionsStandardized Meta ModelsMDA ModelingMDA Information and Tools

Unified Modeling Language (UML)UML DiagramsUML Extensibility ElementsStereotypesTagged ValuesConstraintsOCLMeta Object Facility (MOF)MOF LayersMOF Automated TranslationsUML Metadata SpecificationsXML Meta Interchange (XMI)From UML to XML

MDA TerminologyMDA Helicopter ViewPlatform ModelsBasic Principles of MDABuilding an MDA ApplicationPlatform Specific ModelMarking a ModelMultiple Middleware ModelsModel TransformationsGenerate Implementation

Module 4 : EMF Module 5 : Oslo

What is EMF?EMF versus MDAWhat is an EMF ModelEMF Model as Java InterfaceEMF Model as UML DiagramEML Model as XML-SchemaEMF ArchitectureEMF ComponentsEMF GenerationChange NotificationReflection

What is Oslo?Key Oslo ConceptsOslo’s StrategyOslo ArchitectureM LanguageSemantic Model in MschemaMSchema Generated SQLMGrammarSong GrammarMGrammar and MSchemaMGraph

ADE600: Cursus Service Oriented ArchitectureCode: ADE600 Duur: 2 dagen Prijs: € 1050

Doelgroep Cursus Service Oriented Architecture Deze cursus is bedoeld voor ervaren developers en architecten die Service Oriëntatiewillen toepassen bij het ontwikkelen en ontwerpen van applicaties.

Voorkennis Service Oriented ArchitectureOm aan deze cursus te kunnen deelnemen is kennis en ervaring van systeemontwikkeling en object georiënteerde principes vereist.

Uitvoering Training Service Oriented ArchitectureDe cursus heeft een hands-on karakter. De theorie wordt besproken aan de hand vanpresentatie slides en wordt afgewisseld met praktische oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Certificering Service Oriented ArchitectureDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatService Oriented Architecture.

Inhoud Cursus Service Oriented ArchitectureIn de cursus Service Oriented Architecture komen de beginselen en standaarden van eenherbruikbare service-oriented architecture (SOA) aan de orde. U leert hoe u kandidaatservices kunt afleiden uit bedrijfs processen. Er wordt aandacht besteed aan service composition en decomposition en u leert hoe u services en processen kuntorchestreren met gebruik making van de Business Process Execution Language (BPEL). Voorts worden de standaarden besproken die u in een SOA-omgeving kuntgebruiken voor het creëren van interoperabele services, zoals SOAP, WSDL en XML Schema. U leert ook wat het belang is van een contract eerst, WSDL first,benadering bij het ontwerp van services met een lage mate van koppeling. Tot slot wordt aandacht besteed aan de nieuwe WS standaarden die in een SOA-omgeving een rol spelen.

Module 1 : Overview SOA Module 2 : Describing Services Module 3 : Service Composition

Making the case for SOAEvaluating the benefits or servicesSurveying enabling technologiesXML Schema, SOAP and WSDLDissecting Services and ArchitectureDeveloping ServicesSOA architectureService characteristics

Describing Web Services with WSDLConveying information with SOAP / XMLCharacterization message entitiesUsing schemasComposing a service descriptionDefining the abstract interfaceSpecifying communication protocolsService Modelling and Implementation

Structuring business requirementsBreaking down business processesIdentifying reusable operationsOrchestrating Services with BPELAutomating service interaction with BPELExecuting the BPEL scriptDeveloping BPEL servicesCorrelating Service Invocations

Module 4 : WS Standards

WS-I interoperability profilesCreating secure and reliable servicesWS-SecurityGlobal Web Service ArchitectureWS-RoutingOther WS-Standards

ADE700: Cursus Sparx Systems Enterprise ArchitectCode: ADE700 Duur: 2 dagen Prijs: € 1199

Doelgroep Cursus Sparx Systems Enterprise Architect Software engineers, software architects en andere toekomstige gebruikers van EnterpriseArchitect.

Voorkennis UMLOm aan deze cursus te kunnen meedoen is basis kennis van UML en object oriëntatiewenselijk.

Uitvoering Training Sparx Systems Enterprise ArchitectDe theorie wordt besproken aan de hand van presentatie slides. De concepten wordengeïllustreerd met demo’s en er is gelegenheid om te oefenen. De cursustijden zijn van9.30 tot 16.30.

CertificeringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat SparxSystems Enterprise Architectect.

Inhoud Cursus Sparx Systems Enterprise ArchitectDe “Enterprise Architect” Training is een klassikale training die bij uitstek geschikt is omstudenten met ervaring in UML en object-georiënteerde systeem ontwikkeling kennis telaten maken met het UML modeling tool Enterprise Architect van Sparx Systems. De cursus volgt de cyclus van de ontwikkeling van een applicatie. De cursus biedtstudenten de kennis en de hands-on ervaring om UML modellen te maken en code generatie vanuit UML met behulp van Enterprise Architect uit te voeren. Na afloopvan de cursus heeft de student een overzicht van de functionaliteit van Enterprise Architect. De student heeft bestaande modellen onderzocht en beschikt over kennisvan aspecten van modelering zoals Requirements, Use Case Diagrams, Class Diagrams, Activity Diagram, State Diagrams en Sequence Diagrams in EnterpriseArchitect. De student zal een brede kennis opdoen over het genereren van documenten en webpagina’s, over code generatie en reverse engineering en over teamcollaboration en data modeling in Enterprise Architect.

Module 1 : EA Intro Module 2 : Requirements and Use Cases Module 3 : Domain Modeling

What is Enterprise Architect?UML Modeling Tool of ChoiceShare ModelsCapture RequirementsGenerate DocumentationCode GenerationReverse EngineeringMDA TransformationsModel DatabasesLink EA to IDE’sMDG Technologies

Understanding RequirementsVision DocumentsRequirement TypesFunctional RequirementsNon-Functional RequirementsRequirements DeterminationRequirements ClassificationUse Cases and ActorsUse Case ModelingSystem Context DiagramIdentifying Use CasesUse Case DiagramScenariosStructuring Use Case Modelinclude and extends

Domain ModelingConceptual ClassesUML Notation and ClassesAssociationsRoles in AssociationsMultiplicityNaming AssociationsGeneralizationSpecializationAggregationCompositionAttributes

Module 4 : Interaction Diagrams Module 5 : MDG Technologies Module 6 : MDA Transformations

Realizing RequirementsFrom Analysis to DesignObject Sequence DiagramsResponsibilities and MethodsClass ResponsibilitiesClass CollaborationsInteraction ModelingCollaboration DiagramsTranslate System OperationsDiagram NotationsSequence Diagrams

MDG ProductsMDG TechnologiesMDG ExamplesVisual Studio.NETEclipseLoading MDG ExamplesBPMNSysML

What is MDA?MDA CharacteristicsKernel Idea of MDAMDA DirectionsMDA TerminologyMDA Helicopter ViewPlatform ModelsBasic Principles of MDABuilding MDA ApplicationsPlatform Specific ModelMarking a ModelMultiple Middleware ModelsModel TransformationsGenerate Implementation

ADE800: Cursus Architectural Design PatternsCode: ADE800 Duur: 2 dagen Prijs: € 1050

Doelgroep Cursus Architectural Design Patterns Deze cursus is bedoeld voor ervaren developers en software architecten die designpatterns willen toepassen bij de architectuur van systemen.

Voorkennis Architectural Design PatternsKennis van een object georiënteerde programmeertaal zoals C++, C# of Java en ervaringmet object georiënteerde analyse en design met UML is gewenst.

Uitvoering Training Architectural Design PatternsDeze cursus heeft een hands-on karakter. De theorie wordt behandeld aan de hand vanpresentatie slides en wordt geïllustreerd met demo’s van architectural patterns. Er zijnoefeningen met design problemen waar architectural patterns kunnen worden toegepast.De cursustijden zijn van 9.30 tot 16.30.

Certificering Architectural Design PatternsDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatArchitectural Design Patterns.

Inhoud Cursus Architectural Design PatternsDeze cursus gaat in op het belang en de principes van architectural modeling en detoepassing van Architectural Design Patterns. Architectural Design patterns hebben betrekking op de grootschalige organisatie van systemen en de samenwerkingvan hun componenten en lagen en niet op de interne architectuur van de afzonderlijke software componenten. Na een review van de basis principes van softwaredesign patterns en de gebruikte terminologie, wordt aandacht besteed aan de rol van design patterns in de architectuur van software systemen. De belangrijkstecategorieën van architectural patterns worden besproken. Aandacht wordt bijvoorbeeld besteed aan Call en Return Patterns zoals het Layers pattern, aan Data Flowpatterns zoals het Pipes en Filter pattern, aan Shared Memory patterns zoals het Blackboard pattern en Distributed systems patterns zoals het Proxy en Brokerpattern. Van ieder pattern worden de voor- en nadelen besproken. De deelnemers zullen oefenen met de patterns en de toepassing van de patterns voor praktischeproblemen in de software architectuur bespreken. Vervolgens worden geavanceerde patterns over concurrency en threads besproken en tot slot passeren een aantalpatterns die niet tot een bepaalde categorie behoren de revu.

Module 1 : Software Architecture Module 2 : Architectural Design Patterns Module 3 : Call and Return Patterns

What is Architecture?Software ArchitectureLayered ArchitectureSoftware DifficultiesSoftware CharacteristicsAnalogy to BuildingRole of ArchitectSoftware Architecture ElementsInformal ArchitecturesArchitecture ContextArchitectural ViewpointsViewpointsLogical ArchitectureNon Functional RequirementsPhysical ArchitectureEarly Load Testing

Architectural ModelingModel CharacteristicsArchitectural ViewpointsWhat are Design Patterns?Pattern TerminologyDesign Patterns IdentifiedGang of Four Design PatternsArchitectural PatternsTypical Architectural PatternsArchitectural Pattern CategoriesBatch Sequential PatternPipe and Filter PatternBlackboard PatternPublish and Subscribe PatternPeer to Peer PatternModel View Controller PatternArchitectural Pattern ComparisonDrawbacks of Patterns

Object Oriented PatternOO Benefits and DrawbacksObject Oriented ArchitectureLayers PatternLayers ContextLayers ProblemLayers ForcesLayers SolutionNetwork ArchitectureLayers Benefits and DrawbacksKnown Uses LayersLayers Pattern VariantClient Server PatternClient Server ArchitectureCS Benefits and DrawbacksThree Tier PatternThree Tier Architecture

Module 4 : Data Flow Patterns Module 5 : Shared Memory Patterns Module 6 : Distributed Systems Patterns

Data Flow PatternsData Flow ArchitectureBatch Sequential PatternData Flow Pattern ProblemsBatch SequentialPipes and Filter PatternPipes and Filter ExamplesPipes and Filter ForcesPipes and Filter PatternsServlet FiltersWeb Service HandlersCall Chain of HandlersBenefits and DrawbacksKnown UsesPipes and Filter Variants

Data Centered ViewShared Repository PatternShared Repository ArchitectureActive Repository PatternBlackBoard PatternBlackBoard ArchitectureBlackBoard ContextSpeech RecognitionBlackBoard SolutionBlackBoard VariantsBlackBoard Know UsesBenefits and Drawbacks

Proxy PatternProxy StructureTypes of ProxiesCopy on Write ProxyRemote ProxyRMI Proxy ArchitectureBroker PatternBroker ContextBroker ProblemBroker ForcesBroker SolutionServer ComponentClient ComponentClient and Server ProxiesBridge ComponentBroker VariationsKnown Uses BrokerBenefits and DrawbacksBroker Class Diagram

Module 7 : Interactive Systems Patterns Module 8 : Implicit Invocation Patterns Module 9 : Concurrency Patterns

MVC PatternMVC ArchitectureMVC ModelMVC ViewMVC ControllerMultiple Views Same DataKnown Uses MVCBenefits and DrawbacksPAC PatternPAC StructurePAC SolutionPAC ExamplesPAC Benefits and DrawbacksPAC Known Uses

Communication PatternsRPC PatternPublish Subscribe PatternQueue versus Publish SubscribeTopics and QueuesData Distribution PatternRequest Reply PatternRequest Reply CorrelationMultiple RepliesScalable Request ReplyGuaranteed Delivery ScenarioGuaranteed Delivery

Reactor PatternReactor Pattern ContextServer Socket LoopReactor Pattern ForcesEvent Driven DesignSingle Threaded ReactorNon Blocking IOThread Pool ReactorReactor Known UsesReactor Benefits and DrawbacksActive Object PatternActive Object Sequence DiagramActive Object Method SchedulingActive Object Method Dispatch

Module 10 : Other Patterns

MicroKernel PatternMicrokernel StructureState Machine PatternState Machine StructureReflection PatternReflection StructureProcess Control PatternProcess Control StructureMaster and Slave PatternMaster and Slave Structure

ADM100: Cursus Apache AdministrationCode: ADM100 Duur: 3 dagen Prijs: € 1600

Doelgroep Cursus Apache Administration Systeembeheerders en ontwikkelaars op Unix, Linux of Windows, die moet leren deApache Web Server versies 2.2 tot en met 2.4 te beheren en te controleren.

Voorkennis Cursus ApacheKennis van moderne besturingssystemen zoals Unix, Linux of Windows, in het bijzonderhet omgaan met het bestandssysteem, is wenselijk.

Uitvoering Training ApacheDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s en de theorie wordt afgewisseld met oefeningen. De cursustijdenzijn van 9.30 tot 16.30.

Officieel Certificaat Apache AdministrationDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatApache Administration.

Inhoud Cursus ApacheIn deze cursus leer je de werking van de Apache Web Server versie 2.2 tot en met 2.4, hoeje web sites en applicaties kunt installeren op Apache en hoe deze op configureerdkunnen worden. Na een bespreking van de Web Server-Web browser interactie met het HTTP-protocol, wordt de structuur van het centrale configuratiebestand,httpd.conf, besproken evenals de belangrijkste directives. Vervolgens wordt aandacht besteed aan de architectuur van Apache, in het bijzonder de manier waarop inmodules, filters en handlers samenwerken. U leert ook hoe om te gaan met de verschillende configuratiebestanden. Aandacht wordt besteed aan Virtual Hosting ende verschillende vormen daarvan. Ook het configureren van logging komt aan de orde evenals de structuur van de logbestanden. Vervolgens wordt ingegaan op demogelijkheden van URL manipulatie met de krachtige mod_rewrite module. De configuratie van Security met HTTP Basic en Digest Authentication en deimplementatie van SSL komt aan de orde. Verder wordt aandacht besteed aan hoe filters en handlers inhaken in de request processing cyclus en hoe ze kunnenworden geconfigureerd. Verdere onderwerpen zijn het opzetten van een Proxy server met mod_proxy en hoe Apache kan worden geïntegreerd met de Tomcat WebServer voor dynamische Java Web Applications. Ook de meting en verbetering van de prestaties van applicaties via technieken zoals load balancing en caching isonderdeel van het programma van de cursus. Een optionele module is de inrichting van Perl en PHP modules voor het genereren van dynamic content. In de cursuswordt aandacht besteed aan zowel Apache onder Linux en als onder Windows.

Module 1 : Intro Apache Module 2 : Basic Configuration Module 3 : Apache Architecture

Apache Web ServerWhat is the ASF?Apache Name and MarketshareInstallationApache DirectoriesDirectory StructureStarting ApacheStartup ParametersWeb Server OperationHTTP ProtocolUniform Resource Locators (URLs)Domain Name Service (DNS)Dynamic Content GenerationServer Side Includes (SSI)

Configuring ApacheDirectives and ModulesChecking configurationsServer Configuration DirectivesCustom error pagesCore Configuration DirectivesAccess Control DirectivesAccess Control with RequireAuthentication DirectiveServer and Directory Index pagesForbidding index pagesDirective ContainersConditional ContainersUsing Regular ExpressionsDirectory DirectiveLocation Directive.htaccess FilesAllowOverride directive

Apache Architecture OverviewTwo phase operationApache Portable RuntimeMulti Processing Module (MPM)ModulesImportant ModulesTwo Phase OperationContent GenerationRequest Processing PhasesProcessing HooksFiltersHandlersProcessing of Configuration FilesConfiguration Contexts

Module 4 : Virtual Hosting Module 5 : Logging Module 6 : mod_rewrite

Virtual HostingVirtual Host DirectivesName-based Virtual HostsHost File Name-based Virtual HostingIP-based Virtual HostsMultiple IP Addresses per NICPort-based Virtual HostsMixing Virtual Host TypesTesting Host NamesHost AliasesSSL and Virtual Hosting

Logging DirectivesSpecifying Log FilesLogging errorsLog File TypesError LogsLog LevelsAccess LogsCommon Log FormatDefining Custom LogsOther Log FormatsLog File RotationPiped logsLog File AnalyzersServer Log Reporting

Why mod_rewrite ?Rewrite FlagsRewrite Flags Flow ControlFlags Affecting Response to BrowserFlags Affecting Processing on ServerRewriting versus RedirectionForcing RedirectionTransforming URLsConditional RewritesPreventing hot/deep linkingForce use of SSLTime based AccessRewriteMap

Module 7 : Apache Security Module 8 : Filters and Handlers Module 9 : Tomcat and Apache

Security Issues What are Filters? What is Tomcat?

HTTP Basic AuthenticationHTTP Digest AuthenticationConfiguring AuthenticationExample ConfigurationsManaging Access FilesCreating PasswordsAccess FilesSSL OverviewSSL CharacteristicsSSL EncryptionSSL HandshakesSSL Configuration

Standard FiltersSimple FilteringDynamic FilteringUsing FiltersSmart FilteringWhat are Apache Handlers?Built-in HandlersUsing HandlersType MappingMonitoring with mod_statusServer-InfoServer-StatusRedirecting with mod_alias

Tomcat Binary DistributionsTomcat Zip InstallationTomcat directoriesServer Configuration FilesOther Configuration FilesTomcat webapp’s directoryTomcat Apache CommunicationAdvantages Using a Web ServerConfigure mod_jk ConnectorInstall mod_jkCreate mod_jk.conf FileCreate a workerConfigure httpd.con

Module 10 : Web Proxy with mod_proxy Module 11 : Performance and Scalability Module 12 : Optional : Dynamic Content

Forward ProxyReverse Proxy / Gatewaymod_proxy SupportProxy Modules And Other Related ModulesConfiguring a Forward ProxyStorage of Cached PagesConfiguring a Reverse ProxyBasic Reverse Proxy Configmod_proxy_balancerProxying by RewritingBackend OptimisationsAccess to the Proxy Server

Performance ConsiderationsPerformance Related DirectivesPerformance monitoringBenchmarkingMonitoring GraphsWeb Server Log FilesApache Server StatusLogging and PerformanceLoad TestingOperating System TuningTurn Of Unused ServicesCaching Dynamic ContentVertical ScalingHorizontal ScalingLoad Balancing

Dynamic PagesCGI programsPerl CGI scriptRunning CGI programsCGI parametersPerl CGI parameter exampleCGI issuesPHP scriptsInstalling and configuring PHP 5Using PHP for Active ContentUsing mod_phpPHP configurationPersistent database connections

ADM200: Cursus Tomcat AdministrationCode: ADM200 Duur: 3 dagen Prijs: € 1750

Doelgroep Cursus Tomcat Administration Systeembeheerders en web developers die de Tomcat server moeten beheren enconfigureren en die er applicaties op moeten installeren.

Voorkennis Cursus TomcatDeelnemers moeten beschikken over elementaire computervaardigheden, zoals surfen ophet web en het benaderen van het file systeem. Kennis van web applicaties en andereweb servers is bevorderlijk voor een goede begripsvorming.

Uitvoering Training TomcatDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Officieel Certificaat Tomcat AdministrationDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatTomcat Administration.

Inhoud Cursus TomcatIn deze cursus komt het beheer van de Apache Tomcat web server aan de orde. Tomcat isde meest populaire web server voor op Java gebaseerde web applicaties. De cursus start met het bespreken van de verschillende opties voor de installatie.Vervolgens wordt besproken hoe Java web applicaties met servlets en JSP’s kunnen worden geconfigureerd. De structuur en de configuratie opties van webapplicaties door middel van een deployment descriptor worden daarbij behandeld. De deelnemers raken vertrouwd met de interne architectuur van de server en metJMX (Java Management Extensions) en leren JMX te gebruiken om Tomcat te beheren en te controleren. Ook wordt ook aandacht besteed aan het opzetten vanvirtual hosting en de verschillende manieren om web applicaties met behulp van authenticatie en SSL te beveiligen. Verder wordt de integratie met de Apache WebServer, die de statische content kan leveren of die als loadbalancer kan fungeren, besproken. Ook databases access vanuit web applicaties en de configuratiedaarvan is een onderwerp in de cursus. Tenslotte wordt besproken hoe een cluster van servers kan worden geconfigureerd, hoe failover van applicaties in het gevalvan server crashes kan worden gewaarborgd en hoe applicaties schaalbaar kunnen worden gemaakt. Het JMeter tool zal worden gebruikt om de prestaties van webapplicaties te meten.

Module 1 : Tomcat Introduction Module 2 : Java Web Applications Module 3 : Tomcat Architecture

What is Tomcat?What is the ASF?Apache Name and MarketshareJava OverviewJava EE ServersTomcat and JDK versionsServlet and JSP versionsTomcat Binary DistributionsZip InstallationExe InstallationTomcat DirectoriesServer Configuration FilesOther Configuration FilesWebapps directoryManager ApplicationTroubleshooting

What is a servlet?Servlet CharacteristicsPossible servlet tasksWhat is a JSP?JSP Translation TimeJSP Request TimeForm SubmissionsPOST and GET DataSessionsWeb Application StructureRegistering Web ApplicationsWAR FilesDeployment DescriptorDefining Custom URL’sPreloading pagesError pages

Tomcat ArchitectureStructure server.xmlThe ServerThe ServiceConnectorsDeployment Scenario’sThe EngineThe HostThe ContextResourcesThe RealmThe ValvesLifecycle ListenersApache Portable RuntimeRemaining Classes

Module 4 : Class Loading Module 5 : Tomcat and JMX Module 6 : Virtual Hosting

Class LoadingClass Loading ProcessClass Loaders in JVMDelegation ModelCustom Class LoadersClass Loader BehaviorClass Loader NamespaceExample Custom Class LoaderCustom Class LoadersTomcat Class LoadersSystem Class LoaderCommon Class LoaderWeb Application Class LoaderClass Loader Order

What is JMX?JMX APIJMX GoalWhere is JMX used?Managed BeansStandard MbeansMBean ServerNaming MBeansJMX ArchitectureJVM Instrumentation MBeansAccessing the JMX AgentJMX in Tomcat

Virtual HostingName-based Virtual HostsVirtual Host ConfigurationEngine with Virtual HostsDirectory Structure Virtual HostsVirtual Host ElementHost File Name-based HostingIP-based Virtual HostsMultiple IP addresses per NICSeparate JVM for Each HostServer Configuration more JVM’sHost Configuration more JVM’s

Module 7 : Connecting to Databases Module 8 : Tomcat Security Module 9 : Logging

Java Database ConnectivityJDBC Overall ArchitectureJDBC OperationJDBC Executing a Statement

Verifying Download IntegrityRemove Default ApplicationsChange SHUTDOWN commandSpecial Tomcat Account

LoggingLogging in JavaJava Util LoggingLevels and Log Methods

Sample code JDBCClassNotFoundExceptionEvolving JDBC versionsJDBC Driver TypesTomcat and JDBCJNDI Emulation and PoolingConfiguring JNDI ResourcesContext.xml in META-INFJDBC in Web ApplicationsConnection PoolingPreventing Connection Leaks

Securing JVMSecuring Web ApplicationsHTTP Basic AuthenticationHTTP Digest AuthenticationDeclarative securityProgrammatic securityForm-based AuthenticationCombined Security MechanismsSSL OverviewSSL CharacteristicsSSL Handshakes

Tomcat LoggingLogging Configurationlog4j Characteristicslog4j ConfigurationLoggersLogger Output HierarchyInheriting Logging LevelsLogger NamesLog LevelsAppenders and LayoutsLog Analyzer ToolsCommons Logging

Module 10 : Stack Tracing Module 11 : Tomcat and Apache Module 12 : Clustering

Error ConditionsExceptions in JavaException HandlingSyntax Exception HandlingFinally ClauseException informationStack TracesGenerated Stack TracePredefined ExceptionsNullPointerExceptionsClassCastExceptionsNumberFormat ExceptionsMultiple catch clausesUser Defined ExceptionsChained ExceptionsReading Stack TracesAssertions

Communication with ApacheApache Web ServerAdvantages Using Web ServerApache InstallationApache Directory StructureApache DirectoriesConfiguring AJPConfiguring mod_jk ConnectorInstall mod_jkCreate mod_jk.conf FileCreate a WorkerConfigure httpd.confProxying traffic to TomcatUsing mod_proxy

What is Clustering?Clustering TerminologyClustering TypesVertical ClusteringLoad BalancingSticky SessionsLoad Balancing ConfigurationPropery File Load BalancingDistributed Web ApplicationsSession Sharing BackendsIn-Memory Session ReplicationSimplecpCluster ConfigurationApache Tribes FrameworkDelta and BackupManagerPersistent Session on File SystemPersistent Session in Database

ADM300: Cursus JBoss AdministrationCode: ADM300 Duur: 3 dagen Prijs: € 1850

Doelgroep Cursus JBoss Administration Systeembeheerders en web developers die de JBoss server moeten beheren enconfigureren en die applicaties op JBoss versies AS 7.*, WildFly of EAP 6.* moeteninstalleren.

Voorkennis JBoss AdministrationDeelnemers moeten beschikken over elementaire computervaardigheden, zoals hetwerken met een command prompt en het benaderen van het file systeem. Kennis van webapplicaties en andere web servers is bevorderlijk voor de begripsvorming.

Uitvoering Training JBoss AdministrationDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordenverder toegelicht met behulp van demo’s. De theorie wordt afgewisseld met oefeningen.De cursustijden zijn van 9.30 tot 16.30.

Certificering JBoss AdministrationDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JBossAdministration.

Inhoud Cursus JBoss AdministrationIn de cursus JBoss Administration leren de deelnemers de applicatie server te installeren, in te richten en te configureren. In de cursus wordt gewerkt met de JBossversies EAP 6.x, AS 7.* en Wildfly. Aan de orde komen de architectuur, de installatie van de applicatie server, deployment kwesties, productie installaties, tuning enmonitoring, beveiliging en clustering. De cursus is gebaseerd op de nieuwste JBoss Application Server versie maar dekt ook de verschillen met de vorige versies vande server. Sinds versie 7.0 zijn vele verbeteringen ten opzichte van eerdere versies aangebracht, zoals gecentraliseerd configuratie management, versimpeldbeheer, een modulaire kern en class loading, parallelle deployment, een snellere start tijd en veel nieuwe functies. De cursus is bedoeld voor deelnemers dieapplicatie ondersteuning bieden, zoals systeembeheerders en medewerkers configuratie management en kwaliteitszorg. Maar ook developers van applicaties voorJBoss zullen baat hebben bij de cursus. Zij leren zich te bekwamen in het configureren en beheren van JBoss Application Servers. Ook leren ze hoe kan wordenvoldaan aan de eisen van applicaties die worden geinstalleerd en de voor en nadelen van verschillende deployment scenarios.

Module 1 : Java EE Standard Module 2 : JBoss Intro Module 3 : Class Loading

Java EE StandardJava EE ServersServlets and JSP’sEJB ComponentsPersistent EntitiesLayered ArchitectureContainer ServicesSession BeansPooling Stateless Session BeansStateful Session Bean Life CyclePassivation and Activation ProcessJava EE API’sJAX-WS Java EE Web ServicesJAX-WS OperationJAXB for Java to XML BindingREST Web ServicesJava Messaging ServiceMessage Driven Beans

JBoss AS TimeLineKernel TaxonomyRelation to Java EE specJBoss AS versus EAPJBoss EAP 6Features of EAP 6Standalone versus DomainExtensionsProfiles and SubsystemsDatasources SubsystemPathsInterfacesStandalone and Domain ModeStart Standalone ServerManagement ResourcesAttributesChildrenDescriptions

ModulesClass Loading PreferenceModular Class LoadingWhy use Modules?Static Modulesmodule.xmlDynamic ModulesModule DependenciesDependency ExampleClass Loading in DeploymentsDynamic Module NamingClass Loading and SubdeploymentsImplicit Module DependenciesIncluded Modules

Module 4 : JBoss Logging Module 5 : User Management Module 6 : JBoss Security

LoggingLogging in Javalog4J Basic ConceptsLogging APISimple LoggingJBoss LoggingSupported Logging FrameworksBootup LoggingView Bootup Errorsread-boot-errors CommandGarbage Collection LoggingLog LevelsLogging ConfigurationHandlers and Loggers

About User ManagementCreating a UserUsing Web ConsoleUsing Command Line InterfaceAdd user Command ArgumentsSpecifying RealmsPassing ArgumentsAlternate Property FilesUser in Single GroupUser in Multiple GroupsRemote AccessAdministrator Privileges

Securing ApplicationsFiltering Clients by SourcePlain-Text Login ModuleDatabase Login ModuleFORM-based LoginConfiguring JBoss AS for SSLCreating SSL CertificatesConfigure SSL ConnectorRequiring SSL in AppsSecuring JMS destinationsSecuring ASAS System UserFile System SecurityJava Security ManagerRunning Behind a Firewall

Module 7 : Connecting to Databases Module 8 : Web Services and JBoss Module 9 : Clustering

Java Database ConnectivityJDBC Architecture and Operation

Web Services OverviewService Oriented Architecture

What is Clustering?Clustering Terminology

JDBC DriversJDBC Executing a StatementTypes of DataSourcesDeployment of *ds.xml FilesNon XA DatasourcesDatasource Connection URL’sNon-XA DatasourcesDatasource Connection URL’sCommon Datasources ParametersCommon Pool ParametersCore Datasource StatisticsJDBC StatisticsExample MySQL DatasourceModule.xml FilesModule Add Command

Web Services With JAX-WSWeb Services on JBossConfigure Web Services OptionsModify WSDL AddressWSDL Host SettingWSDL PortWSDL Secure PortWeb Services SubsystemAdding HandlersConfiguring Handler ChainReload Server

Clustering TypesVertical and HorizontalSticky SessionsState ReplicationClustering in JbossHTTP Session ClusteringImproved ScalingSession BeansJava Persistence APIpersistence.xmlHornet HAShared StoreMessage ReplicationHTTP Connectors

Module 10 : Performance Tuning

Performance ConsiderationsImportant Performance AspectsJava Performance TimelineCode Compilation and JITEstablishing BenchmarksJVM TuningHeap Tuning and Stack TuningGenerational GCJava Object BehaviorHeap Space OrganizationHeap Area CharacteristicsMeasuring Garbage CollectionConcurrent Mark and SweepTuning Garbage CollectionApplication Server TrimmingThread Pool TuningDatabase Connection Pooling

ADM400: Cursus IIS AdministrationCode: ADM400 Duur: 3 dagen Prijs: € 1750

Doelgroep Cursus IIS Administration Systeem beheerders, programmeurs, technici en QA-medewerkers die IIS moetenbeheren en configureren en die applicaties op IIS moeten installeren.

Voorkennis IIS AdministrationDeelnemers moeten beschikken over elementaire computervaardigheden, zoals hetsurfen op het web en het benaderen van het file systeem. Kennis van web applicaties enandere web servers is bevorderlijk voor de begripsvorming.

Uitvoering Training IIS AdministrationDe onderwerpen worden besproken aan de hand van presentatie slides en demo’s. Detheorie wordt afgewisseld met oefeningen. De code wordt getest in verschillendebrowsers. De cursustijden zijn van 9.30 tot 16.30.

Certificering IIS AdministrationDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat IISAdministration.

Inhoud Cursus IIS AdministrationIn de cursus IIS Administration leren de deelnemers de kennis en vaardigheden om IIS 7.0te beheren en te controleren. De cursus richt zich op de architectuur kenmerken van IIS 7.0 die de betrouwbaarheid, beveiliging, beheerbaarheid en prestatiesverbeteren. De cursus biedt de kennis en vaardigheden om Internet Information Services (IIS) 7.0 servers en websites daarop succesvol te installeren, configureren,implementeren, beveiligen, monitoren en beheren. Na het voltooien van deze cursus zullen de deelnemers in staat zijn om de belangrijkste kenmerken van IIS 7.0,het IIS 7.0 security model, het request processing model en de metabase architectuur te beschrijven.

Module 1 : IIS Intro Module 2 : IIS Configuration Module 3 : Manage IIS

IIS SetupIntroductionHistory of IISInstalling IISWeb Platform InstallerCreating WebsitesAdding SSL CertificatesSSL Wildcard Certificates

Configuration IntroWeb.configFeature DelegationApplication Pools BasicApplication Pools AdvancedApplication Pools Strategy

Management IntroTroubleshootingPowerShellWeb Deployment

Module 4 : IIS Extensions Module 5 : IIS 8 New Features

IIS ExtensionsIntroductionExtensions OverviewURL RewriteIIS Express

IIS 8 SetupApplication InitializationSNISSL ManagementCPU ThrottlingWeb Sockets

DAT100: Cursus SQL FundamentalsCode: DAT100 Duur: 2 dagen Prijs: € 900

Doelgroep Cursus SQL voor beginners Deze basiscursus is gericht op een breed publiek van systeem beheerders,eindgebruikers van Office applicaties en beginnende programmeurs zonder kennis vandatabases die relationele databases efficiënt willen leren benaderen met behulp vanqueries in Structured Query Language (SQL).

Voorkennis SQL CursusOm aan deze cursus te kunnen deelnemen is enige vertrouwdheid met databasesystemen wenselijk.

Uitvoering Training SQL FundamentalsDe theorie wordt behandeld op basis van presentatie slides. Demos worden gebruikt omde theorie te verduidelijken. Er is ruime gelegenheid tot oefenen. De cursustijden zijn van9.30 tot 16.30.

Certificering Cursus SQL FundamentalsDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat SQLFundamentals.

Inhoud SQL Fundamentals CursusIn de cursus SQL Fundamentals leren de deelnemers de generieke ANSI SQL standaard. Deze standaard kan gebruikt worden in allerlei databases, zoals Oracle,MySQL, Microsoft Access, Microsoft SQL Server, DB2, Informix, PostgreSQL een andere relationele databases. Deze cursus is bedoeld voor mensen die zich denodige vaardigheden willen verwerven om gegevens uit een database te halen, deze te analyseren en rapporten met deze gegevens te maken. De deelnemers lerenwat relationele databases zijn en hoe we ze kunnen gebruiken. U leert u praktische vaardigheden om queries te schrijven zoals SELECT queries en UPDATEQueries. Ook leert u wat relaties zijn en hoe ze gebruikt kunnen worden om de structuur van de gegevens vast te leggen.

Module 1 : SQL Intro Module 2 : Select Queries Module 3 : SQL Data Definition

What is SQL?History of SQLSQL StandardSQL PartsEnvironmentRelational DatabasesNormalisationData TypesDatabase CreationDDL Create TableData TypesLanguage ElementsDML Insert IntoSQL ErrorsSelect Query

Query StructureSELECT .. FROMOptions SELECT .. FROMSELECT DISTINCTWHERE ClauseComparison OperatorsLogical AND and ORAggregate FunctionsLIKE ConditionBETWEEN .. AND ConditionIN ConditionIS NULL ConditionORDER BY ClauseGROUP BY ClauseHAVING ClauseQuery Evaluation OrderQuery Processing

Defining Data StructuresSchema and TablesCREATE StatementsSchema and Table CreationData TypesNumeric TypesBinary Data TypesString Data TypesTemporal Data TypesDomainsIntegrity ConstraintsKeysNot NullForeign KeysUpdate and DeleteCheck ContraintALTER TableDROP Table

Module 4 : Functions Module 5 : Data Manipulation Module 6 : Joins

Standard FunctionsMathematical FunctionsString FunctionsConversion FunctionsSingle Row FunctionsCase Manipulation FunctionsCharacter Manipulation CharactersNumeric FunctionsDate FunctionsConverting Text DatesGeneral FunctionsMultiple Row FunctionsAggregate FunctionsFormatting Numbers

Data ManipulationInsert StatementData InsertionUpdate StatementUpdating Table RowsDeleting Table RowsDeleting and Foreign KeysTransactionsCommit and RollbackImplicit rollbacksImplicit commitsExplicit rollbacksExplicit commitsSavepointsSubqueriesSubquery INSubquery ANY/ALL

What are Joins?ANSI Join SyntaxCross JoinInner JoinTable AliasesNatural JoinLeft JoinLeft Join ExampleRight JoinRight Join ExampleFull JoinFull Outer JoinLeft Excluding JoinRight Excluding JoinOuter Excluding Join

DAT130: Cursus Oracle SQL FundamentalsCode: DAT130 Duur: 3 dagen Prijs: € 1250

Doelgroep Oracle SQL Cursus voor beginners Deze basiscursus is bedoeld voor developers, database beheerders en anderebelangstellenden die Oracle SQL willen leren kennen en gebruiken.

Voorkennis Cursus Oracle SQL FundamentalsVoor deze cursus is geen specifieke voorkennis vereist. Algemene kennis van systeemontwikkeling en databases is bevorderlijk voor een goede begripsvorming.

Uitvoering Training Oracle SQL FundamentalsDe theorie wordt behandeld op basis van presentatie slides. Demos worden gebruikt omde theorie te verduidelijken. Er is ruime gelegenheid tot oefenen. De cursus werkt metOracle 11g maar is ook geschikt voor andere Oracle versies. De cursustijden zijn van 9.30tot 16.30.

Certificering Cursus Oracle SQLDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatOracle SQL Fundamentals.

Inhoud Oracle SQL CursusIn de cursus Oracle SQL Fundamentals leren de deelnemers de syntax en het gebruik vande query taal SQL in de context van een Oracle database. Na een introductie in relationele databases en Oracle, de Oracle installatie, omgeving en tooling, wordtingegaan op de basis aspecten en achtergronden van SQL. In de eerste plaats komt aan de orde komt hoe SQL statements in Oracle kunnen worden gemaakt enuitgevoerd. Vervolgens wordt stapgewijs ingegaan on de verschillende onderdelen van SQL zoals Data Definition Language met CREATE TABLE, DataManipulation Language met INSERT en UPDATE en op SELECT queries. Ook het groeperen van data door middel van GROUP en HAVING clauses staat op hetprogramma van de cursus en de diverse functions in SQL komen aan bod. Vervolgens wordt ingegaan om het combineren van data uit verschillende tabellen doormiddel van joins. De diverse soorten joins worden daarbij besproken. Tenslotte is er aandacht voor de toepassing van SET operatoren zoals UNION en INTERSECTen komt ook het command line interface van SQL*Plus aan bod.

Module 1 : Oracle Introduction Module 2 : SQL Introduction Module 3 : Data Definition

DatabasesDBMS SystemsTypes of Database ModelsEntities and relationshipsRelational databasesOracle toolsInstalling OracleOracle versions

SQL FoundationsSQL DeveloperConnection NavigatorCreating and Using ConnectionsSQL WorksheetStatements and executionSQL HistoryStoring statements

CREATE TABLEDESCRIBESQL StepsSpecifying ColumnsALTER TABLENULL and Default ValuesDROP COLUMNDROP TABLEPURGEFLASHBACK TABLEVirtual columns

Module 4 : Data Manipulatie Module 5 : SQL Queries Module 6 : Grouping

Data Manipulation LanguageTransaction controlInserting rowsINSERT statementUpdating rowsUPDATE statementDELETE statementTRUNCATE TABLEDML on virtual columns

Selecting rowsSELECT statementFROM clauseSpecifying conditionsWHERE clauseSorting with ORDER BYNULLs, FIRST, LASTRemoving Doubles

Grouping FunctionsGROUP BY clauseNestingFiltering groupsHAVING clauseOperatorsString and Date OperatorsConcatenate operatorQuote operator qOperators for patternsOperators for intervalsBETWEEN, IN, ANY, ALL

Module 7 : Functions Module 8 : Joins Module 9 : SET Operators

Function of column valuesUsing functionsSELECT clause functionsWHERE clause functionsGROUP BY clause functionsHAVING clause functionsORDER BY clause functionsString and Arithmetic functionsNesting functionsDate and Conversion functionsNational Language SupportNLS parametersCast

Joining Multiple TablesNormal JoinsOuter JoinMore tablesANSI joinsInner joinNatural joinANSI outer joinCross joinMultiple join conditionsSubselectionsEXISTS

SET OperatorenUNIONUNION ALLINTERSECTMINUSNesting of SET operators

Module 10 : SQL*Plus

SQL*PlusWorking with SQL*PlusConnect statement and /nologSQL bufferStoring statementsSpool filesCommand filesTransaction control

DAT150: Cursus Oracle PL/SQL ProgrammerenCode: DAT150 Duur: 3 dagen Prijs: € 1250

Doelgroep Cursus Oracle PL/SQL Programmeren Deze cursus is bedoeld voor developers die PL-SQL willen gebruiken bij applicaties dieeen Oracle database benaderen.

Voorkennis Cursus Oracle PL/SQLOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met de query taalSQL vereist. Ervaring met programmeren in een procedurele programmeertaal isbevorderlijk voor de begripsvorming.

Uitvoering Training Oracle PL/SQL ProgrammerenDe theorie wordt behandeld op basis van presentatie slides. Demos worden gebruikt omde theorie te verduidelijken. Er is ruime gelegenheid tot oefenen en theorie en exercisewisselen elkaar af. De cursus werkt met Oracle 11g maar is ook geschikt voor andereOracle versies. De cursustijden zijn van 9.30 tot 16.30.

Certificering Cursus PL/SQL ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat PL-SQL Programmeren.

Inhoud Oracle PL/SQL CursusIn de cursus PL-SQL Programmeren leren de deelnemers programmeren in PL-SQL, de procedurele programmeertaal van Oracle. PL-SQL sluit aan bij de query taalSQL maar breidt de mogelijkheden van SQL uit en verbetert de performance. Allereerst komt in de cursus de plaats van PL-SQL tussen de verschillende Oracle toolsaan de orde. Vervolgens wordt aandacht besteed aan de syntax van PL-SQL, de structuur van PL-SQL programma’s en aan statements, declaraties en expressies.Ook control flow in PL-SQL met if else en case statements en de diverse loop constructies komen aan de orde. Dan wordt besproken wat cursors zijn en hoe zijgebruikt worden bij het benaderen van de database. Ook wat gavanceerdere onderwerpen zoals de creatie en het aanroepen van locale en stored procedures en hetgebruik van packages staat op het programma. Tenslotte wordt aandacht besteed aan triggers. In deze cursus staat Oracle 11g centraal, maar waar nodig wordenOracle9i, 10g en 11g features speciaal aangegeven.

Module 1 : PL-SQL Intro Module 2 : PL-SQL Syntax Module 3 : Control Flow

What is PL-SQLStrenght of PL/SQLProcedural possibilitiesEnhanced performanceOracle Suppport toolsOracle SpecificsSQL Developer

Basic ConceptsPL-SQL StructureStatementsDeclarationsAssignments%TYPE and %ROWTYPEExpressionsCommentsNULLNested blocksSyntax errors

IF-THEN-ELSE statementCASE statementsGOTOWHILE loopsFOR loops with indexFOR loops with cursorInfinite loops

Module 4 : Cursors Module 5 : Transactions Module 6 : Error Handling

Implicit cursorQuery with SELECT INTOQuery with cursorOPEN-FETCH-CLOSEFOR loops with cursorParametersControlsCursor attributesSelf defined records

Transaction in PL-SQLQueries for changesAutonomous transactionsLockingRead consistency

ExceptionsRAISEEXCEPTION_INITSQLCODESQLERRM

Module 7 : Procedures and functions Module 8 : Packages Module 9 : Triggers

Local versus stored proceduresParametersDEFAULT valuesRemoving proceduresLocal and stored functionsFunctions in SQLOperatorsDependenciesRecompilationRemote dependencies

Benefits of PackagesPackage specificationPackage bodyCalling a function in SQLRAISE_APPLICATION_ERRORDESCRIBERemoving PackagesNDS PackagesStandard packages for SQL

DML-triggersStatement triggersRow triggersInstead-of-triggersTrigger LimitationsAuditingData integrityCascading triggersSystem Event en DDL-triggersTriggers on user logon and logoffServer error triggersShutdown and startup triggers

DAT200: Cursus Database OntwerpCode: DAT200 Duur: 2 dagen Prijs: € 1050

Doelgroep Cursus Database Ontwerp Web programmeurs, developers van web applicaties, database administrators,webmasters en web project managers.

Voorkennis Database OntwerpVoor deelname aan deze cursus zijn geen specifieke vaardigheden of kennis nodig.Algemene kennis van systeem ontwerp is bevorderlijk voor de begripsvorming.

Uitvoering Training Cursus Database OntwerpDe theorie wordt behandeld aan de hand van presentatie slides. Demos worden gebruiktom de theorie te verduidelijken. Er is voldoende gelegenheid om te oefenen. Decursustijden zijn van 9.30 tot 16.30.

Certificering Database Ontwerp.De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatDatabase Ontwerp.

Inhoud Cursus Database OntwerpDatabase ontwerp is van cruciaal belang voor de effectieve implementatie van eenrelationele database. In deze cursus bespreken we de onderdelen van een database, hoeu gegevens modeleert, database constructie en de ontwikkeling van een database in een zakelijke omgeving. De deelnemers zullen leren hoe de entiteiten en hunrelaties kunnen worden vertaald naar tabellen. Ze leren de principes van de Entity Relationship Modeling. Deze vaardigheden zijn essentieel voor het ontwerpen vande relationele database achter een web site of een applicatie.

Module 1 : Intro Databases Module 2 : Database Design Module 3 : Entity Relationship Modeling

What is a DBMS?Files versus DBMS’sDBMS Abstraction LevelsAbstraction Level DifferencesData IndependenceDatabase ModelHierarchical DatabasesNetwork DatabasesRelational DatabasesObject Oriented DatabasesXML DatabasesDatabase SchemaSQL LanguageDDL and DML LanguageApplication InterfacesTransactionsDBMS ArchitectureCASE Tools

What is Database Design?Database Design PhasesBenefits of PhasesConceptual Data ModelEntity Relationship ModelUML ModelStructuring Data ModelDesign ErrorsData ErrorsConstraintsDatabase ConstraintsNaming Schema ElementsData Interpretation

Entity Relationship ModelE-R Model ComponentsE-R Diagram SymbolsIdentification GuidelinesEntities versus Entity ClassesAttributesEntities versus AttributesDisplaying AttributesClassification of AttributesDisplaying Attribute TypesAttribute DomainsRelationshipsDegree of relationshipsRelationship CardinalitiesNotation of CardinalitiesRemoving M:N relationsRequirement AnalysisResulting ER Diagram

Module 4 : Advanced Er Modeling Module 5 : UML Modeling Module 6 : Normalization

Weak Entity SetGeneralizationSpecializationDesign ConstraintsTotal ParticipationPartial ParticipationDisjoint ConstraintsOverlapping ConstraintsAggregationER Design DecisionsMapping ERD to TablesComposite AttributesMultivalued AttributesRedundancy As TablesExistence Dependencies

What is UML?Structural Modeling?Core ElementsCore RelationshipsStructural DiagramsClasses and ObjectsClass DiagramsInterfacesAssociationsCompositionGeneralizationDependencies

What is Normalization?Unnormalized formMoving towards 1NFFirst Normal FormMoving to 2NFSecond Normal FormThird Normal FormOther Normal FormsBenefit of NormalizationRelationship Cross Tables

Module 7: Database Optimization

Optimization ProcessUse rangesDenormalizeDenormalization IssuesCombine tablesStore derived dataAdd indexes

Index OperationSort (clustered index)

DAT300: Cursus MySQL AdministrationCode: DAT300 Duur: 5 dagen Prijs: € 2499

Doelgroep Cursus MySQL Administration Iedereen die wil leren MySQL databases en MySQL servers te beheren, te monitoren ente ondersteunen.

Voorkennis MySQL AdministrationVoor deelname aan deze cursus is kennis van de SQL query taal en databases eenvereiste.

Uitvoering Training MySQL AdministrationDe stof wordt behandeld aan de hand van presentatie slides. Demo’s verduidelijken detheorie en praktische oefeningen zorgen voor een verwerking van de stof. Deze cursusbehandelt de stof die nodig is voor de Oracle MySQL 5 Database Administratorcertificering. De cursustijden zijn van 9.30 tot 16.30.

Certificering MySQL AdministrationDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatMySQL Administration.

Inhoud Cursus MySQL AdministrationDe cursus MySQL Administration is bedoeld voor MySQL database beheerders die basiskennis hebben van een MySQL database en SQL commando’s. De cursus biedt praktische ervaring in het opzetten en onderhouden van een MySQL server, inclusiefback-up, recovery, configuratie en optimalisatie. In deze cursus zullen de deelnemers leren om een MySQL server te installeren, op te starten en af te sluiten, MySQLcomponenten te configureren en de verschillende storage engines die MySQL ondersteunt te gebruiken. Ze zullen ook leren om de beveiliging van een MySQLinstallatie te onderhouden door het beheer van gebruikers en toegangsrechten. Tenslotte zullen ze leren om met de MySQL Administrator Graphical User Interface tewerken voor het maken back-ups en het uitvoeren van restore activiteiten en zullen ze met behulp van diverse MySQL tools leren database replicatie uit te voeren inMySQL.

Module 1 : Intro MySQL Module 2 : Configuring MySQL Module 3 : MySQL Architecture

IntroductionClient Program LimitationsmysqlMySQL AdminWhat is Metadata?The mysqlshow UtilityThe SHOW and DESCRIBE CommandsThe Information_Schema DatabaseMySQL Server Options and VariablesMySQL Status VariablesMySQL Distributions

Installing on WindowsInstalling on Linux and UNIXStarting and Stopping on WindowsStarting and Stopping on UNIX/LinuxLog and Status FilesThe Default SQL ModeTime Zone TablesSome Security IssuesMySQL Error MessagesThe SHOW StatementSQL ModesThe PERROR UtilityThe LogThe Error LogThe Slow Query Log

Client/Server OverviewCommunication ProtocolsThe SQL Parser and Storage Engine TiersHow MySQL Uses Disk Space and MemoryTable PropertiesCreating and altering TablesDropping and emptying TablesObtaining Table MetadataColumn AttributesBit and Numeric Data TypesCharacter String Data TypesBinary String Data TypesEnum and Set Data TypesTemporal Data TypesAuto_IncrementHandling Missing or Invalid Data ValuesPerformance Issues with Character sets

Module 4 : Storage and Locking Module 5 : Table Maintenance Module 6 : Backup and Recovery

Locking ConceptsExplicit Table LockingAdvisory LockingPreventing Locking ProblemsIntroductionThe MYISAM EngineLocking with MYISAM TablesThe Merge EngineOther Engines: Archive, Memory, Federated, Blackhole,NDBCluster

Features of InnodbTransactionsReferential IntegrityPhysical Characteristics of Innodb TablesTablespace ConfigurationLog File and Buffer ConfigurationInnodb StatusTable Maintenance OperationsCheck TableRepair TableAnalyze TableOptimize TableMySQL CheckMYISAMCHKRepairing Innodb TablesEnabling MYISAM AutoRepair

Planning and Implementing a Backup and RecoveryStrategyDefining a Disaster Recovery PlanTesting a Backup and Recovery PlanThe Advantages and Disadvantages of DifferentMethodsBinary Backups of MYISAM TablesBinary Backups of Innodb TablesRecoveryImport and Export OperationsExporting Using SQLImporting Using SQLExporting from the Command Line using mysqldumpImporting from the Command Line usingmysqlimport

Module 7 : Security Module 8 : Stored Procedures andTriggers

Module 9 : Optimization

User AccountsCreating UsersRenaming Users

User VariablesPrepared StatementsTypes of Stored Routines

Optimization OverviewOptimization ProcessPlanning a Routine Monitoring Regime

Changing PasswordsDropping UsersGranting PrivilegesThe User TableConnection ValidationTypes of PrivilegesRevoking PrivilegesResource LimitsThe MySQL DatabaseThe Show Grants CommandPrivilegesSecurity IssuesOperating System SecurityFilesystem SecurityLog Files and SecurityNetwork SecurityUpgrade-related Security IssuesUpgrading the Privilege TablesSecurity-Related SQL_Mode Values

Benefits of Stored RoutinesStored Routines FeaturesStored Routine MaintenanceStored Routine Privileges and ExecutionSecurityDML TriggersThe Create Trigger StatementManaging Triggers

Setting Suitable GoalsIdentifying Candidates for Query AnalysisUsing Explain to Analyze QueriesMeaning of Explain OutputUsing Explain ExtendedIndexes for PerformanceCreating and Dropping IndexesObtaining Index MetadataIndexing and JoinsMyIsam Index CachingNormalisationGeneral Table OptimizationsMyisam Specific OptimizationsInnodb Specific OptimizationsOther Engine Specific OptimizationsMeasuring Server LoadSystem FactorsServer ParametersQuery Optimizer PerformanceThe Query Cache

Module 10 : Environment Optimization Module 11 : Scaling MYSQL Module 12 : MySQL Workbench

Choosing the PlatformHardware ConfigurationsDisk Issues on LinuxSymbolic LinksOptimizing the Operating SystemExercises: Optimizing the EnvironmentEvent scheduler conceptsEvent scheduler configurationCreating, altering and dropping eventsEvent scheduler monitoringEvents and privileges

Partitioned tables conceptsRange partitioningHash partitioningKey partitioningList partitioningComposite partitioning or subpartitioningMaintenance of partitioned tablesUsing Multiple ServersReplication

InstallationConnectingServer InformationService ControlUser AdministrationPrivilegesHealthBackup and RestoreCatalogs

DAT400: Cursus MySQL DevelopmentCode: DAT400 Duur: 5 dagen Prijs: € 2499

Doelgroep Cursus MySQL Deze cursus is bedoeld voor developers die een MySQL database willen inrichten tenbehoeve van een applicatie.

Voorkennis MySQL DevelopmentOm aan deze cursus deel te kunnen nemen is praktische kennis van SQL en databasesvereist.

Uitvoering Training MySQLDe stof wordt behandeld aan de hand van presentatie slides. Demo’s dienen terverduidelijking van de theorie en oefeningen worden gebruikt om de theorie te verwerken.De cursustijden zijn van 9.30 tot 16.30.

Certificering MySQL DevelopmentDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatMySQL Development.

Inhoud Cursus MySQL DevelopmentDeze cursus is bedoeld voor MySQL developers die een goed begrip van een MySQLdatabase hebben en ervaring in het gebruik van SQL queries. De cursus biedt eenverdergaande praktische ervaring met meer geavanceerde MySQL commando’s en SQL-instructies, waaronder Stored Procedures, Triggers en Event Scheduling.De deelnemers zullen leren om geavanceerde functies van de MySQL client te gebruiken en de structuur van de databases te beheren door het aanmaken vanindexen en tabellen. Ze zullen ook leren om complexe SQL query statements, geavanceerde SQL expressies en SQL-functies te schrijven en om geavanceerdeInsert, Update, Delete, Replace en Truncate operaties uit te voeren. Ook wordt aandacht besteed aan het importeren van gegevens naar en het exporteren vangegevens uit MySQL. En ook leren de deelnemers complexe joins om meerdere tabellen te benaderen op te stellen en uit te voeren. Tenslotte leren de deelnemersom views te creëren, te beheren en te gebruiken en te werken met de belangrijkste MySQL storage engines om applicaties te debuggen.

Module 1 : Database Concepts andMySQL

Module 2 : Installation and Configuration Module 3 : Database Design

Features of a Relational DatabaseWhere does SQL Fit in?Database AccessWhy MySQL?The History of MySQL

MySQL SoftwareMySQL Software FeaturesPreparing to Install MySQLAvailable Client SoftwareAfter the DownloadConfiguring the ServerStarting the ServerThe Initial User AccountsVerifying Server OperationUpgradingCopying a Database between ArchitecturesEnvironment Variables

Developing the Design of a DatabaseDatabase EntitiesThe Primary KeyForeign Key RelationshipsData Models and NormalizationSecond Normal Form (2NF)Third Normal Form (3NF) and beyondTranslating a Data Model into a DatabaseDesign

Module 4 : mysql Command-Line Tool Module 5 : DDL-Data Definition Language Module 6 : Data ManipulationLanguage

Running the mysql ClientCustomizing the mysql Promptmysql CommandsUsing the Help CommandSome Useful mysql OptionsWorking with a DatabaseExamining Table DefinitionsOther SHOW Options

DDL and DML OverviewBuilding Table DefinitionsIdentifiersColumn DefinitionsNumeric DatatypesENUM and SET TypesDate and Time DatatypesAUTO_INCREMENTUNIQUE ConstraintsPrimary KeysModifying TablesForeign KeysRenaming and Dropping Tables

DDL and DML OverviewData Values: NumbersData Values: StringsWorking with NULL ValuesBulk Loading of DataBulk Data FormatWorking with Special Values in Bulk DataAdding New Table Rows with INSERTCopying RowsUPDATEREPLACERemoving Table RowsTransactionsInnoDB: Using Transactional ProcessingLocking Tables

Module 7 : Queries with SELECT Module 8 : Unions and Joins Module 9 : Advanced SQL Techniques

SELECT Syntax SummaryChoosing Data Sources and Destinations forSELECTPresentation of Table Data with SELECTBeing Selective About Which Rows areDisplayedUser-Defined VariablesExpressions and Functions

UNIONCombining Data from Two TablesUsing WHERE to Choose Matching RowsINNER JOINOUTER JOINsMultiple Tables, Fields, Joins, and OrderingSELECT * and USING ColumnsAdvanced SQL Techniques

MySQL Pattern MatchingMultipliers, Anchors, and GroupingGROUP BYAggregatesSubqueriesSubquery Comparisons and QuantifiersOther SubqueriesSubquery Alternatives and Restrictions

Control Flow Operators and FunctionsFunction NamesComparison Operators and FunctionsString FunctionsNumeric Operators and FunctionsDate and Time FunctionsForcing Data InterpretationMiscellaneous Functions

InnoDB Multi-Table Updates and DeletesBuilding a VIEWUpdatable VIEWs

Module 10 : MySQL Storage Engines Module 11 : Utilities Module 12 : Administering Users andDB

Storage Engine OverviewOther Storage Engine TypesThe Basics of Commonly Used StorageEnginesMyISAM Limits and FeaturesMyISAM Data File FormatInnoDB and Hardware LimitationsInnoDB Shared Tablespace ConfigurationInnoDB Per-Table TablespacesInnoDB Data ManagementMEMORY and FEDERATEDMERGE and ARCHIVE

Client OverviewSpecifying Options for Command-Line ClientsClient Option FilesChecking Tables with myisamchk and mysqlchkUsing myisamchk and mysqlchk for Repairsmysqlshow and mysqlimportUsing mysqldumpThe Query BrowserMySQL Query Browser: DeeperMySQL Administrator: Basic OperationsMySQL Administrator: Monitoring the Server and UserAdministrationThird Party Tools

The Server-Side ProgramsStarting the MySQL ServerUsing SET for Server OptionsTable ManagementServer Log FilesmysqladminBackup and RestoreMiscellaneous FunctionsUser Account ManagementUnderstanding User PrivilegesUser Account Rights ManagementUser Account PrivilegesManaging Access to the DatabaseEnvironment

Module 13 : Database Programmability Module 14 : Performance Tuning Module 15 : MySQL ProgrammingInterfaces

Stored Routines: Basic ConceptsRoutine Creation and UseFlow Control StatementWriting Blocks of CodeTriggersStored Routines, TriggersBinary LogTable HANDLERsPrepared Statements

Hardware LimitationsOptimizing the MySQL Server’s Interaction with the ExternalWorldAdjusting the MySQL Server ConfigurationOptimizing Your DatabaseOptimizing QueriesThe Use of Indexes to Support QueriesThinking about JOIN QueriesQuery Sorts, Indexes, and Short-CircuitingINSERT, UPDATE, DELETE, and Talkie LocksSome General OptimizationsOptimizations Specific to MyISAMOptimizations Specific to InnoDB

Database Application ArchitecturesConnecting MySQL to ODBCConnecting MySQL to MS/Office andMS/AccessConnecting to MySQL from PerlProgramming Perl to MySQLConnecting to MySQL from PHPProgramming PHP to MySQL

DAT700: Cursus APEX FundamentalsCode: DAT700 Duur: 3 dagen Prijs: € 1250

Doelgroep Cursus APEXDeze cursus is bestemd voor developers die APEX Web Applicaties willen ontwikkelen opbasis van een Oracle database.

Voorkennis APEX FundamentalsOm aan deze cursus te kunnen deelnemen is basis kennis van HTML en CSS en kennisen ervaring met SQL en PL-SQL programmeren in een Oracle omgeving vereist.

Uitvoering Training APEX FundamentalsDe cursus wordt gegeven met Oracle 11g en APEX 4.2. De theorie wordt behandeld aande hand van presentatie slides en de concepten worden toegelicht met demo’s. De theoriewordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering APEX FundamentalsDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat APEXFundamentals.

Inhoud Cursus APEX FundamentalsIn deze cursus leren de deelnemers Web applicaties te ontwikkelen met het tool OracleApplication Express, APEX, dat standaard wordt meegeleverd met de Oracle 11gdatabase software. Allereerst wordt aandacht besteed aan de structuur van de APEX ontwikkelomgeving en de structuur van APEX Web applicaties. De cursus gaatvoor een groot deel in op het maken van schermen en rapporten. U leert hoe u door gebruik te maken van standaard componenten en wizards daarvoor snel eenWeb applicatie ontwikkelt. Vervolgens wordt ingegaan op het gebruik van standaard componenten. Ook komt het navigeren tussen pagina’s aan de orde en wordtbesproken hoe u de layout van de web applicatie aanpast. Tenslotte wordt aandacht besteed hoe u door toepassing van PL-SQL specifieke functionaliteit enaanpassingen aan de standaardcomponenten kunt realiseren.

Module 1 : APEX Intro Module 2 : Applications Module 3 : Reports and Forms

APEX ArchitectureAPEX installationAPX configurationApplication BuilderBasics of Oracle Web ApplicationsManaging WorkspacesUser RolesAdministrationStarting with Oracle APEXUtilitiesLanguage issuesSQL Workshop

From scratchFrom SpreadsheetImportExportShared ComponentsList of ValuesTypes of LOV’sItems and ButtonsApplication Deployment

Reports from scratchInteractive reportsReport headersReport templatesBreak formattingColumn formattingTabular formsMaster detail formsEditing form attributesValidationsComputations

Module 4 : Pages and Regions Module 5 : Navigation and Layout

PagesPage DefinitionPage ProcessingPage RenderingPage ManipulationsPage ZeroRegionsRegion DefinitionCalendarsCharts

TabsNavigation BarsBreadcrumbsListsTreesThemesTemplatesTemplate type and ClassesTemplate FilesTemplate Subscriptions

DAT800: Cursus APEX AdvancedCode: DAT800 Duur: 3 dagen Prijs: € 1250

Doelgroep Cursus APEX Advanced Deze cursus is bedoeld voor developers die al enige ervaring hebben in het ontwikkelenvan web applicaties met APEX op een Oracle database.

Voorkennis APEXOm aan deze cursus te kunnen deelnemen is basis kennis van HTML, CSS en JavaScriptvereist alsmede basis kennis en ervaring met het ontwikkelen met APEX.

Uitvoering Training APEX AdvancedDe cursus wordt gegeven met Oracle 11g en APEX 4.2. De theorie wordt behandeld aande hand van presentatie slides en de concepten worden toegelicht met demo’s. De theoriewordt afgewisseld met oefeningen. De theorie wordt afgewisseld met oefeningen. Decursustijden zijn van 9.30 tot 16.30.

Certificering APEX AdvancedDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat APEXAdvanced.

Inhoud Cursus APEX AdvancedIn deze APEX Advanced cursus leren developers de geavanceerdere mogelijkheden vanhet ontwikkelen met APEX. Gedurende de cursus ontwikkelen de deelnemers een geavanceerde APEX applicatie. Aan bod komen geavanceerde aspecten vanpage processing. Ook wordt ingegaan op diverse aspecten van security en authenticatie. Aanpassingen van de look and feel van de applicatie en de interactiemogelijkheden van de interface met Ajax functionaliteit komen eveneens aan bod. Ook voor deze geavanceerde functionaliteit biedt APEX mogelijkheden incombinatie met de toepassing van JavaScript en HTML. Voort wordt ingegaan op de generatie van PDF vanuit APEX applicaties en wordt ingegaan op het gebruikvan Web Services. Tenslotte wordt ook vooruit geblikt op de nieuwe features van APEX 5.0.

Module 1 : Advanced Page Processing Module 2 : Security Module 3 : Ajax and PDF Generation

File handlingPublic APEX API’sInternal APEX API’sAdvanced Interactive ReportsParameterized ReportsMulti Valued Check BoxesPerformanceDebugging

Implementing SecurityAccess ControlAuthorization and AuthenticationAuthentication schemesCreating authentication schemeAPEX account credentialsCustom authenticationLDAP en SSOSessionsSession State Protection (SSP)

What is Ajax?XMLHttp RequestsPartial Page updatesCallback functionsDynamic HTML and JavaScriptPDF from reportsXSL-FO integrationFOP libraries

Module 4: Web Services Module 5 : Apex 5 features

What are Web Services?SOAP and WSDl standardCreating Web Service ReferencesCreating a New ApplicationSpecifying Proxy Server AddressWeb Service Reference from WSDLWeb Service Reference ManuallyUsing Web Services

New Page DesignerNew Navigation methodsModel pagesFile managementCalendar enhancementsNew themesNew templates

INT100: Cursus Internet en Intranet ConceptsCode: INT100 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Internet en Intranet Concepts Deze cursus is bedoeld voor personen die meer willen leren over de achtergrond en dewerking van het Internet en Intranet.

VoorkennisVoor deelname aan deze cursus zijn geen specifieke vaardigheden of kennis nodig.

Uitvoering Training Internet en Intranet ConceptsDe concepten worden behandeld aan de hand van presentatie slides. Een demo websitewordt gebruikt om de concepten te verduidelijken. Er wordt ook aandacht besteed aanhands-on oefeningen. De cursustijden zijn van 9.30 tot 16.30.

CertificeringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatInternet en Intranet Concepts.

Inhoud Cursus Internet en Intranet ConceptsDeze cursus behandelt de concepten en protocollen van het Internet en Intranet. Aandachtwordt besteed aan de rol van markup languages, zoals XML en HTML. Verdereonderwerpen zijn CSS en Dynamic HTML, client-side JavaScript scripting, deverschillende mogelijkheden van server-side scripting, zoals ASP.NET, PHP of Java Servlets en het gebruik van herbruikbare componenten in web pagina’s zoalsapplets en ASP.NET controls. Tot slot wordt aandacht besteed aan de recente ontwikkelingen met betrekking tot Rich Web User Interfaces en Web Services.

Module 1 : Internet Protocols Module 2 : HTTP Web Servers Module 3 : HTML Markup Language

Basic Web ConceptsTCP/IPProtocols and OSI ModelRFC’sIP OverviewIP HeaderIP Address SchemeDomain Name System (DNS)File Transfer Protocol (FTP)SMTPSMTP, DNS and POP TopologySMTP FunctionsDHCP ProtocolDHCP Operation

HTTP ProtocolWeb ServersWeb BrowsersUniform Resource LocatorsURL’sHTTP Request MessagesHTTP Request ExampleHTTP Response MessagesHTTP Response ExampleHTTP Request HeadersHTTP Response HeadersHTTP Status CodesMIME Types

Structuring business requirementsHTML Markup LanguageHTML PagesHTML Page StructureBasic HTML ElementsHTML AttributesHTML LinksHTML TablesHTML ImagesHTML FramesHTML FormsHTML Form StructureInput Tags

Module 4 : XML Markup Language Module 5 : Internet Security Module 6 : CSS

XML Markup LanguageXML versus HTMLRoots of XMLMarkup LanguagesBenefits of XMLXML ElementsXML Element NamesXML AttributesWell Formed DocumentsValid DocumentsXHTML Markup LanguageHTML versus XHTMLXHTML DeclarationsAdvantages of XHTML

Parts of Internet SecuritySecurity ThreatsSecurity IssuesHTTP Basic AuthenticationHTTP Digest AuthenticationEncryption TypesSymmetric EncryptionAsymmetric EncryptionHash EncryptionSigningSecure Sockets LayerSSL HandshakesSecure HTTP (HTTPS)Digital CertificatesPublic Key CryptographyIssuing and Using CertificatesDeMilitarized Zone

What is CSS?Defining CSSApplying CSSCSS PositioningAbsolute PositioningRelative PositioningCSS Positioning AttributesCSS Visibility PropertyCSS Z-Index PropertyCSS and XML

Module 7 : Client Side JavaScript Module 8 : Dynamic HTML Module 9 : Server Side Scripting

Dynamic Content TechniquesClient Side ScriptingJavaScript’s HistoryJavaScript CharacteristicsVariablesJavaScript TypesNumbersStringsBooleansArrays

What is DHTML?DHTML TechnologiesHTML DOMHTML DOM ExampleBrowser Object ModelElement AccessImportant ElementsImportant PropertiesEvent Handlers

ServletsReading Form Data in ServletsJava Server PagesSimple JSP PagePHP ScriptsUsing PHPPHP $_POST Global VariablePHP $_GET Global VariableWhy Session Tracking?Session ID’s

FunctionsObjectsEvent HandlerValidation in JavaScript

Session Tracking Mechanisms

Module 10 : Web Services Module 11 : Rich Internet Applications

What is a Web Service?XML Transport with Web ServicesRPC versus Document StyleWhat is SOAP?Structure SOAP MessageSkeleton SOAP MessageSOAP Messages as PayloadSOAP HeaderWhat is WSDL?Basic Structure WSDL?WSDL and Code GenerationService Orientation

Traditional Webapps ProblemsRich Internet ApplicationsWhat is Flex?Flex FrameworkFlex ArchitectureHow Flex worksActionScriptFlash PlayerMXML ExampleSilverLightXAMLDrawing with XAMLHTML5

INT200: Cursus HTML FundamentalsCode: INT200 Duur: 1 dag Prijs: € 450

Doelgroep HTML Fundamentals Cursus Personen die willen leren om HTML web pagina’s te creëren zowel voor het Internet alshet Intranet.

Voorkennis Cursus HTML FundamentalsKennis van de fundamentele aspecten van het Internet en het gebruik van een browser iswenselijk om aan deze cursus te kunnen deelnemen.

Uitvoering Training HTML FundamentalsDe concepten worden behandeld aan de hand van presentatie slides. Een demo websitewordt gebruikt om de concepten te verduidelijken. Er is voldoende gelegenheid om teoefenen. De cursustijden zijn van 9.30 tot 16.30.

Certificering HTML FundamentalsDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat HTMLFundamentals.

Inhoud Cursus HTML FundamentalsIn de cursus HTML Fundamentals leert u hoe u HTML web pagina’s kunt maken. U leertde praktijk van het maken en onderhouden van HTML pagina’s. De verschillendeelementen van HTML pagina’s, zoals hyperlinks, lettertypen, kleuren, tabellen, afbeeldingen, formulieren en frames worden behandeld aan de hand van demos. Uleert ook om tekst editors en grafische editors te gebruiken.

Module 1 : HTML Intro Module 2 : HTML Tags Module 3 : HTML and Text

Creating Web PagesWhat Is HTML?HTML Flavors and StandardsHTML CodingHTML Text Editors vs. GUI EditorsCreating an HTML Page

Markup TagsDocument Structure TagsParagraph FormattingText FormattingUsing ListsRuling Horizontal LinesAdding Images to your Pages

Special CharactersSpecifying Color in HTMLThe Web-Safe Color PalettePage Colors and BackgroundsSpecifying Font Information

Module 4 : HTML Links Module 5 : HTML Tables and Frames Module 6 : HTML Forms

HTML HyperlinksUnderstanding LinksAnchor TagCreating Internal Links

HTML TablesChanging Height and Width of Table ElementsColumn and Row VoltageFRAMESET and FRAME tagFrameset DocumentNOFRAMES tagTargeting Frames with Hyperlinks

FormsThe FORM tagWeb Form Fields

INT202: Cursus CSS voor BeginnersCode: INT202 Duur: 2 dagen Prijs: € 850

Doelgroep Cursus CSS voor Beginners Deze cursus is bedoeld voor personen die het gebruik van CSS voor de opmaak van webpagina’s willen leren.

Voorkennis CSSVoor deelname aan deze cursus zijn geen specifieke vaardigheden of kennis nodig.

Uitvoering Training CSS voor BeginnersDe concepten worden behandeld aan de hand presentatie slides. Een demo websitewordt gebruikt om de concepten te verduidelijken. Er wordt ook aandacht besteed aanhands-on oefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering CSSDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat CSSFundamentals.

Inhoud Cursus CSS voor BeginnersIn de cursus CSS Fundamentals leren de deelnemers Cascading Style Sheets tegebruiken bij de creatie van Web pagina’s. Deze cursus begint met een high-leveloverzicht van Cascading Style Sheets en verkent daarna de basis concepten, terminologieen de tools van de Cascading Style Sheets taal. Na een bespreking van de CSS syntax wordt uitgelegd hoe CSS gebruikt kan worden om tekst, borders,backgrounds en kleuren aan te passen. Vervolgens komt de integratie met HTML aan de orde en wordt de huidige versie en stand van ontwikkeling van de standaardbesproken. In de cursus worden ook een aantal van de meest populaire CSS editors en frameworks doorgenomen en online CSS tools en resources voor verderestudie besproken.

Module 1 : CSS Intro Module 2 : CSS Specifications Module 3 : Text and Fonts

CSS BasicsWhat is CSS?Default browser stylesSyntaxBasic selector typesHow CSS works with HTML structureAuthoring optionsHow browsers apply stylesBrowser rendering differencesCommon Concepts

Specification StandardsBrief historyCurrent stateExploring specificationsReading specificationsChecking browser support

Working with fontsFormatting textBordersBackgroundsColor

Module 4 : Layout Module 5 : Media Module 6 : Resources

What is the box model?Margins and paddingCommon units of measurementElement positioningFloatsBasic layout concepts

Media types and media queriesWhat is CSS3?Vendor prefixesWhat is a CSS Reset?

ResourcesUsing frameworks and gridsPopular frameworksPreprocessorsEditorsOnline toolsAdditional resources

INT250: Cursus HTML5 en CSS3Code: INT250 Duur: 2 dagen Prijs: € 950

Doelgroep Cursus HTML5 en CSS3 Deze cursus is bedoeld voor ervaren HTML ontwerpers die willen leren hoe je HTML5 enCSS3 kunt gebruiken om moderne state of the art web sites te maken.

Voorkennis HTML5 en CSS3Om aan deze cursus te kunnen deelnemen is kennis van en ervaring met HTML en CSSnodig.

Uitvoering Training HTML5 en CSS3De onderwerpen worden besproken aan de hand van presentatie slides. Demosverhelderen de behandelde stof. De theorie wordt afgewisseld met oefeningen. De codewordt getest in verschillende browsers. De cursustijden zijn van 9.30 tot 16.30.

Certificering HTML5 en CSS3De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatHTML5 en CSS3.

Inhoud Cursus HTML5 en CSS3In deze HTML5 cursus leer je content in HTML5 en CSS3 te schrijven, te testen en tepubliceren, zelfs terwijl de standaards zich blijven ontwikkelen. HTML en CSS zijn de tweeopmaak talen die momenteel op de meeste web sites op het internet worden gebruikt. HTML bepaalt de inhoud van een website (tekst, afbeeldingen en mediaplugins) en CSS bepaalt de stijl (kleuren, lettertypen en lay-outs). Hoewel HTML4 en CSS2 van fundamenteel belang zijn geweest in de ontwikkeling van hetfunctionele en stilistische internet, zijn HTML5 en CSS3 de volgende stap in web technologieën. HTML5 en CSS3 zullen naar verwachting dominante technologieënworden bij het ontwikkelen van interactieve en esthetisch aantrekkelijke websites.

Module 1 : HTML5 Intro Module 2 : Page Structure Module 3 : HTML Forms

What is HTML5?HTML5 HistoryW3C and WHATWGHTML5 VisionCompatibilityHTML5 UsageInteroperabiltyUniversal AccessFuture of HTML5Browser SupportBrowsers In Mobile DevicesFeature DetectionLegacy BrowserGracefull Degradation

HTML5 Page StructureHTML5 DocTypePage EncodingHTML5 MarkupNew Page ElementsUpdated Page ElementsDeprecated ElementsStructure ElementsNew AttributesDeprecated AttributesHTML5 and CSS3Browser Support

HTML5 FormsGathering InputNew Input TypesColor Input TypeDate Input TypeEmail Input TypeNew AttributesForm ValidationComplex ValidationUsing Regular ExpressionsBrowser Support

Module 4 : Audio and Video Module 5 : Styling Pages Module 6 : Canvas

Audio and VideoUsing PluginsUsing CodecsMultiple SourcesNew Audio MarkupNew Video MarkupAttributes and MethodsAudio and Video EventsCustomizing Controls

New CSS propertiesRounded cornersDrop shadowsColor effectsTransparency using RGBAGradientsRotationScale to page elementsTransitionsPage movement without JavaScriptAdvanced selectors like nth-childTarget exactly the right elementsEmbed using @font-face!Using custom fontsUsing text on the page instead of imagesSupport for @font-faceWork arounds

HTML5 CanvasCanvas versus SVGAccessiblityUsing a CanvasContext and CoordinatesDrawing ShapesWorking with PathsDrawing Straight LinesStroked PathDrawing Circles or ArcsDrawing TextDrawing ImagesWorking with PixelsUnderstanding TransformsTranslation and RotationScaling

Module 7 : Data Storage Module 8 : Offline Applications Module 9 : Geolocation

Data StorageCookies ModelPre HTML5 SolutionsNew Storage OptionsWeb StorageStorage InterfaceSession StorageLocal Storage

Offline ApplicationsManifest FileCache SectionNetwork SectionFallback SectionapplicationCache EventsDeployments And Updateserror Event

HTML5 GeolocationPrivacy ConsiderationsGet User LocationGeolocation ObjectgetCurrentPositionwatchPositionPosition ObjectLatitude

Web SQL StorageBrowser Support

updateReady Event LongitudeHandling ErrorsPositionOptions

Module 10 : WebWorkers Module 11 : Messaging Module 12 : WebSockets

HTML5 WebWorkersJavaScript Execution ModelWebWorker UsageCommunication APIHandling ErrorsErrorEvent Interface

HTML5 Messaging API’sSame Origin PolicyWorkaroundsJSON with PaddingUsing a ProxyCross Document MessagingSending MessagesReceiving MessagesXMLHttpRequest Level 2Cross Origin Resource SharingProgress Event

Web SocketsReal Time SolutionsPolling ArchitectureLong Polling ArchitectureWeb Sockets APIWeb Sockets ProtocolWeb Sockets HandshakeAdvantages Web Sockets

INT300: Cursus JavaScript ProgrammerenCode: INT300 Duur: 3 dagen Prijs: € 1300

Doelgroep JavaScript Cursus Deze cursus JavaScript is bedoeld voor ervaren HTML ontwerpers die willen leren hoe zeJavaScript kunnen gebruiken om web pagina’s interactiever te maken.

Voorkennis van voor de Opleiding JavaScriptOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met HTML vereist.Voorafgaande kennis van programmeren is niet vereist, maar wel bevorderlijk voor debegripsvorming.

Uitvoering Training JavaScriptDe onderwerpen worden besproken aan de hand van presentatie slides. Demos wordengebruikt om de stof te verduidelijken. De theorie wordt afgewisseld met oefeningen. Decode wordt getest in verschillende browsers. De cursustijden zijn van 9.30 tot 16.30.

Certificaat JavaScript ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatJavaScript Programmeren.

Inhoud Javascript TrainingDeze cursus Javascript behandelt de basisprincipes en het gebruik van de JavaScript-taalin HTML-pagina’s. Na een inleiding over de verschillende manieren waarop JavaScript in HTML pagina’s kan worden opgenomen en hoe de code wordt uitgevoerd,wordt de ECMA JavaScript standaard behandeld en worden de verschillen tussen browsers wat betreft JavaScript besproken. Vervolgens wordt de syntax van deJavaScript taal besproken, waaronder de variabelen, data types, operatoren en control flow constructies van JavaScript. Ook arrays en functies in JavaScript wordenbehandeld. Een belangrijk aspect van JavaScript en een centraal element van de cursus is de afhandeling van events op HTML pagina’s in JavaScript functies. Derol van event functies voor het laden en het submitten van pagina’s worden behandeld en de events die veroorzaakt worden door de muis en keyboard interactieworden besproken. Verder wordt aandacht besteed aan het Document Object Model van HTML pagina’s en de interactie met de pagina via JavaScript code en deDOM API. Vervolgens staat het valideren van gebruikers input in client side forms via JavaScript code is op het programma. De cursus wordt afgesloten met eenbespreking van object oriëntatie in JavaScript. De verdieping van deze cursus is de cursus Advanced JavaScript Programmeren.

Module 1 : JavaScript Intro Module 2 : Variables and Data Types Module 3 : Operators and Expressions

JavaScript HistoryJavaScript CharacteristicsJavaScript UsageECMA StandardDynamic HTMLScript TagSimple ScriptWriting tot DocumentJavaScript Code ExecutionScript FilesExternal Script FilesBuilt-in Browser ObjectsForm ValidationJavaScript ObjectsTimers in JavaScriptPopup BoxesDebugging JavaScriptJavaScript Tooling

Data TypesJavaScript TypesVariablesVariable DeclarationVariable InitializationIdentifiersReserved WordsIdentifier ExamplesNumbersSpecial ValuesNumber UsageMath ObjectStringsString UsageString Object MethodsBooleansObjects

What is an Operator?JavaScript OperatorsArithmetic OperatorsLogical OperatorsComparison OperatorsAssignment OperatorsString OperatorsBitwise OperatorsBitwise Operator ExamplesOther OperatorsOperator PrecedenceExpressions

Module 4 : Control Flow Module 5 : Arrays Module 6 : Functions

Control Structuresif Statementif Examplesif else Statementif else ExamplesMultiple SelectionsNested if Statementsswitch case StatementIteration Statementsfor Loopwhile Loopdo..while Loopbreak and continue

What are Arrays?Creating ArraysInitializing ArraysAccessing ArraysArray IndexesArray lengthProcessing with forProcessing with for eachMultidimensional ArraysArray MethodsAdding ElementsRemoving ElementsDeleting ElementsAssociative ArraysReversing ArraysSorting Arrays

What are Functions?Defining FunctionsCalling FunctionsFunction ParametersUsing ParametersVariable ScopeReturning from FunctionsPassing ParametersData ValidationVariable Argument ListFunction Best Practices

Module 7 : Events Module 8 : DOM API Module 9 : Validation

HTML DOM Events Document Object Model (DOM) What is Validation?

Register Event HandlersEvent ParameterEvent Handlers ListMouse EventsKey EventsThe DOM Event ModelCommon DOM EventsEvent Object PropertiesDOM Level2 Event Model

Browser Object Model and DOMHTML DOMDocument ObjectProperties and MethodsDOM NavigationNavigate and UpdateDOM ManipulationDOM Node TypesNode Type PropertiesQuerying the DOMCommon Element Properties

Checking Form InputRegular ExpressionsMeta CharactersQuantifiersCharacter ClassesRegEx ExamplesString RegEx MethodsReplacingRexEx FlagsRegExp ObjectUsing RegExp

Module 10 : JavaScript Objects

JavaScript Object OrientationObjectsDefining ClassesConstructorsClass MembersFields and PropertiesFunctions/MethodsAccess Modifierspublic, private, protectedSafe Usage of “this”Using JSONNamespaces

INT303: Cursus Advanced JavaScript ProgrammerenCode: INT303 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Advanced JavaScript Programmeren Deze cursus is bedoeld voor ervaren Web developers die geavanceerde aspecten vanJavaScript in Web Applications willen leren en toepassen.

Voorkennis Cursus Advanced JavaScriptBasis kennis van JavaScript en HTML is vereist. Voorafgaande kennis van Object OrientedProgramming is bevordelijk voor een goede begripsvorming.

Uitvoering Training Cursus Advanced JavaScriptDe cursus heeft een hands-on karakter. De theorie wordt behandeld aan de hand vanpresentatie slides en wordt afgewisseld met demos en praktische oefeningen. Eenmoderne JavaScript ontwikkelomgeving met debugging mogelijkheden wordt gebruikt. Demeest gebruikte browsers zijn beschikbaar. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Advanced JavaScript ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAdvanced JavaScript Programmeren.

Inhoud Cursus Advanced JavaScriptDe cursus Advanced JavaScript start met het bespreken van hoe object georiënteerdprogrammeren in JavaScript kan worden uitgevoerd met behulp van classen en objects. Verschillende vormen van inheritance zoals prototypal, classic en parasiticworden met elkaar vergeleken. Ook wordt de relatie tussen functies en objects uitgelegd, worden prototypes en namespaces besproken en maken de verschillendeingebouwde JavaScript-objecten onderdeel uit van het cursusprogramma. Er is ook aandacht voor de concepten van closures en lambda en hoe en waar dezeworden gebruikt. Een belangrijk onderdeel van de behandelde stof is hoe XML data kunnen worden benaderd in JavaScript. Hierbij wordt de XML DOM APIbesproken en wordt aandacht besteed aan het verband tussen de XML data en de elementen op de pagina. Vervolgens wordt aandacht besteed aan de Ajaxtechnologie, waarbij delen van de pagina kunnen worden ververst door middel van interactie met de server zonder een volledige page reload cyclus. De centrale roldie JavaScript hierbij speelt wordt besproken. Aparte aandacht gaat ook uit naar JSON, JavaScript Object Notation, een format dat in toenemende mate als alternatiefvoor XML voor data communicatie wordt gebruikt. En ten slotte staan het debuggen van JavaScript code, het rekening houden met browser afhankelijkheden en hetoptimaliseren van JavaScript code om prestatie verbeteringen te realiseren op het programma.

Module 1 : JavaScript Objects Module 2 : Accessing XML DOM Module 3 : Advanced Functions

What are Objects?object literalsdefault & guard operatorsUpdating propertiesProperty attributeseval/firebug gotchaprototypeproperty enumerationdelete operatorinheritancepseudoclassicalprototypalfunctionaloverriding & super()Implement singleton

Building a DOM treeDOM levelDOM RepresentationNode ObjectDOM Node TypesProperties of Node TypesNode propertiesNode methodsDOM data structuresNamedNodeMap interfaceExample Document and Tree

Optional Function ArgumentsTruthy and FalsyDefault OperatorDefault Operator Gotcha!Functions Passed as ArgumentsAnonymous FunctionsInner FunctionsObserving and Capturing EventsThe eval() FunctionVariable ScopeError HandlingRuntime ErrorsLexical scopeclosuremodule pattern

Module 4 : Ajax and JavaScript Module 5 : JSON Module 6 : JavaScript Regular Expressions

How Ajax WorksCreate XMLHttpRequestXMLHttpRequest MethodsXMLHttpRequest PropertiesSending the RequestSimple Ajax RequestreadyState PropertyDynamic HTMLHTML DOM AccessRead responseTextSubmit Data with GETSubmit Data with POSTEvents to Start AjaxAjax Sequence Diagram

What is JSON?JavaScript Object NotationJSON Data StructuresJSON Object RepresentationJSON Array RepresentationWhy JSON over XML?JSON textJSON and Java TechnologySend and receive JSON dataBoth client and server sides

Regular ExpressionsGetting StartedJavaScript’s Regular Expression MethodsFlagsString MethodsRegular Expression SyntaxStart and End ( ^ $ )Number of OccurrencesGrouping ( [] )Negation ( ^ )Subpatterns ( () )Alternatives ( | )Escape Character ( \ )BackreferencesForm Validation with Regular ExpressionsCleaning Up Form Entries

INT400: Cursus Dynamic HTMLCode: INT400 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Dynamic HTML Deze cursus is bedoeld voor personen die willen leren hoe je dynamische en interactieveweb pagina’s kunt maken.

Voorkennis Dynamic HTMLOm aan deze cursus deel te kunnen nemen is kennis van HTML vereist. Kennis van eenscript taal zoals VBScript of JavaScript wordt aanbevolen.

Uitvoering Training Dynamic HTMLDe theorie wordt behandeld aan de hand van presentatie slides. Demo’s worden gebruiktom de concepten te verduidelijken. Er is voldoende gelegenheid om te oefenen. Decursustijden zijn van 9.30 tot 16.30.

Certificering Dynamic HTMLDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatDynamic HTML.

Inhoud Cursus Dynamic HTMLIn de cursus Dynamic HTML leert u interactieve en dynamische web pagina’s te maken. Uleert te werken met (X)HTML en Cascading Style Sheets en ook de mogelijkheden vanDynamic HTML en JavaScript worden behandeld en geoefend. Aandacht wordt o.a. besteed aan CSS positionering op blok niveau en het gebruik van tekstelementen en ook andere in’s en out’s van Cascading Style Sheets worden besproken. We kijken ook naar de laatste ontwikkelingen in het World Wide WebConsortium en de verschillen tussen de verschillende browsers.

Module 1 : Advanced HTML Module 2 : CSS Module 3 : HTML DOM

HTML StructureDOCTYPEStandards Compliance DOCTYPESemantic or Structural MarkupBenefits of Semantic MarkupProblems with TablesHeadings and ParagraphsLine Breaks and EmphasisDeprecated tagsHTML of XHTMLValidationXML Document StructureWell Formed and Valid DocumentsWhat is XHTMLXHTML document structure

What is CSS?Rendering with CSSSelectorsSelector TypesHTML SelectorsClass SelectorsSPAN and DIV as carriersID SelectorsAdding CSS FilesCSS Positioning AttributesCSS Position PropertyCSS Visibility PropertyCSS Z-index Property

HTML DOMElement AccessBuilding a DOM treeDOM levelsDOM and Browser Object ModelDOM RepresentationNode ObjectDOM Node TypesProperties of Node TypesNode propertiesNode methodsDOM data structuresNamedNodeMap interfaceExample Document and Tree

Module 4 : JavaScript Module 5 : Dynamic HTML Module 6 : Ajax

JavaScript HistoryJavaScript CharacteristicsVariablesJavaScript TypesNumbersStringsEvent Handlersonchange Eventonmousedown EventForm Validation

What is Dynamic HTMLDHTML Technologiesscript.aculo.usUse of script.aculo.us librariesDojo Toolkit LibrariesThe dojo Widget LibraryDojo Widget System FeaturesAdding Widgets to PageForm Widgets

What is Ajax?Ajax term explainedClassic Web Application ModelAjax Web Application ModelClassic Synchronous App. ModelAjax Asynchronous App. ModelTypical Ajax InteractionsHow Ajax WorksCreating the XMLHttpRequestObject MethodsSending the RequestObject PropertiesXMLHttpRequest readyStateListening for ResponseProcessing the ResponseSequence diagram

INT404: Cursus Dynamic HTML met Dojo ToolkitCode: INT404 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Dynamic HTML

Web Developers die willen leren hoe je de Dojo Toolkit kunt gebruiken om dynamischeweb applicaties te ontwikkelen.

Voorkennis Dynamic HTMLOm aan deze cursus deel te kunnen nemen is kennis en ervaring met JavaScript, DynamicHTML en web applicaties vereist.

Uitvoering TrainingDe theorie wordt besproken aan de hand van presentatie slides. De besproken conceptenworden geillustreerd met demo’s. De theorie wordt afgewisseld met oefeningen. Decursustijden zijn van 9.30 tot 16.30.

Officieel CertificaatDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatDynamic HTML with Dojo Toolkit.

Inhoud Cursus Dynamic HTML met Dojo ToolkitDe cursus Dynamic HTML met Dojo Toolkit geeft een overzicht van de werking enmogelijkheden van de Dojo Toolkit en behandelt hoe dynamische web applicaties met Dojo kunnen worden gemaakt. Aandacht wordt besteed aan de Dojo Toolkitlibraries, de relatie met Dynamic HTML, het Dojo packaging system, Dojo taal constructies en het benaderen van de DOM. Ook het Dojo event system, het publish ensubscribe design pattern voor events en aspect oriëntatie komen aan de orde. Dojo GUI interfaces met de Dijit widgets staat eveneens op het programma. Hierbijworden de verschillende types van widgets zoals command en text controls en containers behandeld. En er is aandacht voor hoe Ajax functionaliteit in Dojoapplicaties kan worden geimplementeerd met behulp van Dojo Remoting. Voorts wordt het gebruik van het JavaScript Object Notation (JSON) als data format in decommunicatie tussen de server en de browser besproken. En tot slot wordt aandacht besteed aan de combinatie van licht gewicht REST Web Services en Dojo.

Module 1 : Introduction Module 2 : Event Handling Module 3 : Dijit Widgets

What is and Why Dojo Toolkit?Dojo Toolkit Package SystemDojo Toolkit Librariespackage loadingdojo.requireDojo and Dynamic HTMLdojo.byIdDojo QueryDojo ForeachBrowser normalizationDOM access and manipulation

Dojo Event Systemdojo.even.connectConnecting Objects and FunctionsDOM eventsEvents on ObjectsChaining function callsDisconnectingSubscribing topicsPublishing topicsAOP event modelDrag and drop

Interface widgetsTemplate drivenCheckBox, RadioButton,ComboBoxCurrencyTextBox, DateTextBoxNumberTextBox,Slider, ValidationTextBox, TextareaDijit Command ControlButton, DropDownButtonMenu, ToolbarDijit LayoutAccordion ContainerContent Pane, Layout ContainerSplit ContainerStack ContainerTab Container

Module 4 : Dojo Remoting Module 5 : JSON Module 6 : Dojo and REST

How Ajax WorksCreating the XMLHttpRequestObject MethodsSending the RequestObject PropertiesXMLHttpRequest readyStateListening for ResponseProcessing the ResponseSequence diagramAsynchronous remote callsRemoting via xhrGet en xhrPostBackward/Forward buttonsBookmarking

What is JSON?JavaScript Object NotationJSON Data StructuresJSON Object RepresentationJSON Array RepresentationWhy JSON over XML?JSON encoding/decodingJSON textJSON and Java TechnologySend and receive JSON dataBoth client and server sides

What is REST?RESTFull Web ServicesID and LinksMultiple RepresentationsStateless CommunicationsSimple Root ResourceContainer Item PatternMap, Key, Value PatternDojo ClientsDojoX and Comet

INT500: Cursus Ajax ProgrammerenCode: INT500 Duur: 3 dagen Prijs: € 1350

Doelgroep Cursus Ajax Web ontwikkelaars die willen leren hoe de Ajax technologie kan worden gebruikt in webapplicaties.

Voorkennis Cursus Ajax ProgrammerenKennis van en ervaring met web applicatie ontwikkeling met name HTML en Javascript enkennis van een server omgeving in met taal zoals PHP, Java of .Net.

Uitvoering Training AjaxDe onderwerpen worden besproken aan de hand van presentatie slides. Demos wordengebruikt om de stof te verduidelijken. De theorie wordt afgewisseld met oefeningen. Decode wordt getest in verschillende browsers. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Ajax ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat AjaxProgrammeren.

Inhoud Cursus AjaxIn de cursus Ajax Programmeren staan de nieuwe aanpak van Asynchronous JavaScripten XML (Ajax) bij het ontwikkelen van Web Applicaties centraal. Ajax is niet eenzelfstandige technologie, maar beschrijft hoe een aantal bestaande technologieën samen zijn te gebruiken, waaronder HTML, XHTML, Cascading Style Sheets,JavaScript, het Document Object Model, XML, XSLT, en het XMLHttpRequest object. Met het Ajax model, kunnen applicaties snel veranderingen maken aan eenpagina zonder deze te moeten herladen. In de cursus komen de aan Ajax ten grondslag liggende technologieën aan bod en leert men hoe robuste engebruiksvriendelijke Ajax Web applicaties kunnen worden geschreven. Ook worden een aantal Ajax frameworks besproken en wordt aandacht besteed aanJavaScript Object Notation (JSON). Zowel de opbouw van Ajax Request’s op de client als de interactie met server side code komt in deze cursus aan de orde.

Module 1 : Ajax Intro Module 2 : Ajax Processing Module 3 : Ajax and XML

What is Ajax?Ajax Term ExplainedHistory of AjaxClassic Webapp ModelAjax Webapp ModelClassic Synchronous ModelAjax Asynchronous ModelAjax Uses in the Real WorldTypical Ajax InteractionsDrawbacks of AjaxAjax PatternsAjax Frameworks and linksIframes preceding Ajax

How Ajax WorksCreate XMLHttpRequestXMLHttpRequest MethodsXMLHttpRequest PropertiesSending the RequestSimple Ajax RequestreadyState PropertyDynamic HTMLHTML DOM AccessRead responseTextSubmit Data with GETSubmit Data with POSTEvents to Start AjaxAjax Sequence Diagram

Ajax Response TypeXML DOMLoad XML DocumentXML versus HTML DOMDOM TreeLoading in Internet ExplorerLoading in FireFoxDOM NavigationNavigate and UpdateDOM ManipulationDOM Node TypesNode Type PropertiesDisplaying Node TypesRead responseXML

Module 4 : Ajax Patterns and Pitfalls Module 5 : Ajax and JSON Module 6 : Prototype

What are Patterns?Replacing HTMLReplacing HTML Using TabsReading More DataReading XML DataAvoiding Browser CacheReal Time Form ValidationAuto CompletionConcurrent RequestsPolling AntiPatternComplex XML AntiPatternSame Origin PolicyBandwagon EffectBack ButtonFeedbackConcurrencyOpen SourceJavascript Unavailable

What is JSON?JavaScript Object NotationJSON Data StructuresJSON Object RepresentationJSON Array RepresentationWhy JSON over XML?JSON textJSON and Java TechnologySend and receive JSON dataBoth client and server sides

What is Prototype?Prototype FrameworkSetting up PrototypePrototype CharacteristicsPrototype ShortcutsUtility functions$(), $F(), $A()Form and Element classesAjax UpdaterAjax.RequestScriptaculous LibraryScriptaculous EffectsScriptaculous Controls

Module 7 : jQuery Module 8 : Dojo Module 9 : Direct Web Remoting

What is jQuery?Ajax in jQueryAjax OptionsLoading Page FragmentsgetJSONAjax Limitations

What is Dojo Toolkit?Dojo Toolkit LibrariesMain parts of DojoUse Dojo from your Web ServerDojo Toolkit Package SystemDojo Functions

What is DWR?DWR PartsDWR OperationDWR ArchitectureDWR ConfigurationDWR Converters

Ajax Global SettingsGlobal Ajax Event HandlersError HandlingAjax Request CompletionSelect what to load

Dojo Ajaxxhr wrapper functionsDojo DOM ManipulationDojo Event Systemdojo.connect functionChaining function callsPublish and subscribeDojo Widgets

DWR CreatorsHandling Ajax CallsRegistering CallbacksBean ConvertorsObject ConvertorsUtility Functions

Module 10 : Google Web Toolkit Module 11 : ASP.NET Ajax

What is and Why GWT?Java to Javascript compilerJavascript ObfuscationGWT Development ModeGWT Production ModeGWT ArchitectureJRE Emulation libraryGWT ProjectGWT Module configurationGWT UI class libraryDeferred BindingWhat is GWT RPC?Communication with ServerGWT RPC Mechanism

ASP.NET AjaxASP.NET Ajax ArchitectureASP.NET Ajax ExtensionsServer ControlsMicrosoft Ajax LibraryJavascript FilesMicrosoft Ajax.jsDivision of FeaturesASP.NET AJAX Control Toolkit

INT505: Cursus jQuery ProgrammerenCode: INT505 Duur: 2 dagen Prijs: € 1075

Doelgroep Cursus jQuery Programmeren Deze cursus jQuery is bedoeld voor ervaren Web developers die de jQuery JavaScriptlibrary willen gebruiken in Web Applications.

Voorkennis Cursus jQueryKennis en ervaring in het ontwikkelen van web applicaties met script talen als Javascript isvereist om aan deze cursus deel te nemen.

Uitvoering Training jQueryDe cursus jQuery heeft een hands-on karakter. De theorie wordt behandeld aan de handvan presentatie slides en wordt afgewisseld met praktische oefeningen. Demos wordengebruikt om de theorie te verhelderen. Er wordt een moderne JavaScriptontwikkelomgeving met debugging mogelijkheden gebruikt. De cursustijden zijn van 9.30tot 16.30.

Officieel Certificaat jQueryDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatjQuery.

Inhoud Cursus jQueryIn deze cursus leert u hoe u kunt programmeren met een van de meest populaire JavaScript libraries, jQuery. Aandacht wordt besteed aan de mogelijkheden vanjQuery en de relatie met JavaScript. Na een inleiding over de installatie van jQuery en een overzicht van de library, worden scripts gemaakt met de document readyfunctie. Vervolgens wordt besproken hoe de inhoud van een pagina via jQuery script kan worden benaderd. Hierbij worden HTML tags en attributen gebruikt voor deidentificatie en wordt de styling gedaan met CSS. De relatie met het DOM model van de pagina wordt ook besproken. Verder wordt aandacht besteed aan de jQuerymethoden om de pagina inhoud te filteren en worden ook de verschillende manieren om de code te optimaliseren besproken. Voorts wordt het gebruik vangeavanceerde jQuery chaining aan de orde gesteld. Na het bespreken van de manipulatie van de inhoud in een pagina, wordt aandacht besteed aan jQuery eventhandling. De jQuery methoden die event handling vergemakkelijken worden behandeld en wordt aandacht besteed aan namespacing en event delegation. Ook hetgebruik van effecten in jQuery en de eenvoudige en geavanceerde animatie functies van jQuery passeren de revu. Met animaties en effecten leert u image rotators,dynamische menu’s en tooltips, slideshows en modale windows te bouwen waarmee web pagina’s tot leven komen. Vervolgens is er aandacht voor de Ajaxfunctionaliteit van jQuery en voor de dynamische en partial page updates. Zowel de eenvoudige $load functie om data op te halen en als de complexere $ajax functiewordt besproken en ook wordt aandacht wordt besteed aan data overdracht via JSON, JavaScript Object Notation. Tot slot wordt het gebruik en het zelf schrijven vanplugins in jQuery en de jQuery UI library besproken en wordt aandacht besteed aan een aantal geavanceerde onderwerpen zoals performance optimalisatie encaching.

Module 1 : Intro jQuery Module 2 : DOM and Dynamic HTML Module 3 : Selections and DOM Traversing

What is jQuery?jQuery versus Custom JavaScriptjQuery versus other LibrariesjQuery on Google TrendsGetting started with jQueryIncluding jQueryGoogle Content Delivery NetworkDocument Ready?Script Execution OrderonLoad versus document.readyjQuery Function ObjectWhere to run Scripts?

What is Dynamic HTML?DHTML TechnologiesHTML and XML DOMBuilding a DOM treeDOM RepresentationDOM Node TypesProperties of Node TypesDOM Tree XML DocumentDOM Methods for NavigationDOM Node Object MethodsDHTML Element AccessEvent HandlersCSS Style SheetsRendering with CSSCSS Properties

jQuery SelectionBasic SelectorsHierarchy SelectorsSelection by AttributePosition FiltersForm SelectorsOther Selection FiltersjQuery Method ChainingDOM TraversalFilter MethodsAdvanced Method Chaining

Module 4 : DOM Manipulation Module 5 : CSS Styling Module 6 : Events

Why DOM Manipulation?Creating ElementsInserting Elements beforeInserting Elements afterInserting as first ChildInserting as last ChildMass InsertionMoving ElementsCloning ElementsRemoving ElementsReplacing ElementsGet Element ContentAccess Element Attributes

Browser InconsistenciesReading CSS PropertiesModifying CSS PropertiesShorthand CSS PropertiesRemoving CSS PropertiesCSS ClassesElement Height DimensionsElement Width DimensionsPosition ChangesElement Positions

Events OverviewDOM Level 2 Event ModeljQuery Event ModelBinding an Event HandlerBinding Multiple HandlersBinding Shortcut MethodsEvent ObjectProperties Event ObjectMethods Event ObjectUnbinding HandlersOne Shot HandlersRepeating Event BindingEvent Delegation.live versus .delegateTriggering Events

Module 7 : Effects and Animations Module 8 : Ajax Fundamentals Module 9 : jQuery Ajax

jQuery Built-in EffectsShowing ElementsHiding ElementsFading EffectsSliding EffectsCreating AnimationsAnimation NotesAnimation QueuesStopping AnimationsAnimation Controls

What is Ajax?Classic Web App ModelAjax Web App ModelTypical Ajax InteractionsDrawbacks of AjaxHow Ajax WorksCreating XMLHttpRequestXMLHttpRequest MethodsSending the RequestXMLHttpRequest PropertiesXMLHttpRequest readyStateListening for ResponseProcessing the ResponseInteraction of ComponentsAjax Pitfalls

Ajax in jQueryAjax OptionsAjax LimitationsLoading Page FragmentsjQuery.getJSONAjax Global SettingsAjax EventsGlobal Ajax Event HandlersError HandlingAjax Request CompletionOther Ajax Features

Module 10 : Plugins Module 11 : jQuery UI Module 12 : Advanced Topics

PluginsWhat is Easing?Standard Easing FunctionsEasing PluginColorBox PluginUsing ColorBoxColorBox OptionsCycle PluginCycle MethodsValidation PluginValidation RulesDataTable PluginCreating PluginsPlugin MethodsBest Practices Plugin Creation

What is jQuery UI?Getting StartedThemesjQuery WidgetsAccordion Widgetaccordion MethodTabs Widgettabs MethodDialogsDialog Widgetdialog MethodjQuery UI ControlsDate Picker Widgetdatepicker MethodSlider WidgetjQuery UI Animation

Best Practices for LoopsAvoid Anonymous FunctionsOptimizing SelectorsjQuery Utility MethodsTest Variable TypeExtend ObjectsAvoiding ConflictsQueuing AnimationsDequeuing Animations

INT600: Cursus Rich User Interfaces met FlexCode: INT600 Duur: 2 dagen Prijs: € 1200

Doelgroep Cursus Rich User Interfaces Deze cursus is bedoeld voor Web ontwikkelaars die Adobe Flex willen gebruiken voorRich User Interfaces in Web Applications.

Voorkennis Rich User InterfacesKennis van en ervaring met het ontwikkelen van web applicaties en script talen alsJavascript is vereist om deze cursus te volgen. Deze training is niet gericht op het creërenvan Flash applicaties, maar op de Flex omgeving en het Flex UI.

Uitvoering Training Rich User Interfaces met FlexDe cursus is een praktijkgerichte cursus. De theorie wordt behandeld aan de hand vanpresentatie slides en wordt afgewisseld met praktische oefeningen. De op Eclipsegebaseerde ontwikkelomgeving Flash Builder wordt gebruikt. De cursustijden zijn van9.30 tot 16.30.

Certificering Rich User Interfaces met FlexDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat RichUser Interfaces met Flex.

Inhoud Cursus Rich User InterfacesIn de cursus Rich User Interfaces met Flex leert u hoe u de Flash Builder ontwikkelomgeving kunt gebruiken voor rapid development van Rich Internet Applications(RIA) met behulp van Flex Framework componenten. U leert interactieve formulieren te ontwerpen waarbij CSS stylesheets en thema’s worden toegepast en waar decomponenten skins krijgen. U leert gebruik te maken van de MXML markup language. Ook wordt het verbeteren van de interactiviteit van de applicaties besprokenmet behulp van ActionScript 3.0. De data types en het object model van de ActionScript 3.0 taal komen aan de orde en er is ruime aandacht voor de afhandeling vanevents voor de application flow en de validatie van de data. Ook het onderwerp data binding, waar de inhoud van Flex componenten wordt gekoppeld aan interne ofexterne bronnen zoals een web server wordt besproken. Hierbij passeren de Flex Data Services, zoals de HTTP-service, de revu. Tot slot wordt aandacht besteedaan robuste en schaalbare Flex RIA applicaties op basis van het MVC (Model View Controller) pattern.

Module 1 : Flex Overview Module 2 : Flex Basics Module 3 : Layout and Styles

Traditional Webapps ProblemsRich Internet ApplicationsRIA BenefitsWhat is Flex?Flex FrameworkFlex Class LibraryFlex ArchitectureHow Flex worksFlex Product LineFlex CompilerFlashBuilderActionScript 3Flash PlayerMXML

Minimal Flex ApplicationFlex ContainersWine Cellar DemoUI Wine Cellar DemoFlex ComponentsCustom ComponentsBinding between ComponentsApplication StructureComponent PropertiesComponent Methods

Definition of LayoutLayout PhasesInvalidation triggersmeasure functionupdateDisplayList functionDifferent kinds of sizeSize related propertiesSize related methodsStylesStyles for sub componentsSkins

Module 4 : ActionScript 3.0 Module 5 : MXML Module 6 : Event Handling

What is ActionScript?Where is ActionScript usedDesign GoalsFlash 9 FeaturesActionScript BasicsActionScript variablesActionScript data typesFunctionsClasses and ObjectsPackages and ClassesVisibility ModifiersAccessing PropertiesEvent ModelDisplaylistXML handling

What is MXML?ActionScript classes to MXML tagsMXML LanguageMXML to ActionScriptMXML Visual TagsMXML Miscellaneous tagsMXML Data Binding

Flex Event ModelListenersEvent Listeners ExamplesHandling Button ClicksInline ActionScriptBest Practice Handling EventsActionScript functionsAdding listenersThe event objectTypes of EventsEvent bubblingStopping the bubble

Module 7 : Data Services

Flex Data ServicesXML Data AccessConnect to data using HTTP ServiceSetup HTTPServiceUsing lastResult propertyHandle Result using Event Objectevent handler in script

DebuggingHandling faultsFault ClassAlert ClassCross Domain Access

INT700: Cursus AngularJS ProgrammerenCode: INT700 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus AngularJS Programmeren Deze cursus is bestemd voor Web Designers en Web Developers die willen leren hoeSingle Page applicaties met Angular JS gemaakt kunnen worden.

Voorkennis Cursus AngularJSOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met HTML, CSS enJavaScript vereist.

Uitvoering Training AngularJSDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metpraktische oefeningen. Demos worden gebruikt om de theorie te verduidelijken. De meestgebruikte browsers zijn beschikbaar voor het uitvoeren van de code. De cursustijden zijnvan 9.30 tot 16.30.

Certificaat AngularJS ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAngularJS Programmeren.

Inhoud Cursus AngularJSGoogle’s Angular JS is een toolkit voor wat wordt genoemd Single Page Applications. Ineen introductie wordt ingegaan op de essentie van Single Page Applications en hoe deze contrasteren met traditionele server centric web applicaties. Vervolgenswordt ingegaan op de grote verscheidenheid aan Angular JS functies. Aan de orde komen bindings als declaratieve connecties tussen data en screen elementen enhoe een scope het model representeert. Aandacht wordt besteed aan controllers, filters en service types in Angular JS. En ook komen directives aan de ordewaarmee HTML kan worden uitgebreid tot abstracties voor de applicatie. Verder wordt ingegaan op de organisatie van modules in Angular JS en het modulesysteem. De cursus behandelt voornamelijk Angular JS versies 1.3 en 1.2. Maar ook wordt alvast vooruit geblikt op diverse aankomende kenmerken van Angular JS2.0 met het oog op toekomstige migratie. Aan het einde van de cursus hebben de deelnemers geleerd hoe ze Angular JS kunnen gebruiken om een complete Webapplicatie te bouwen.

Module 1 : Intro Angular JS Module 2 : Expressions and Directives Module 3 : Filters and Validation

What is AngularJS?AngularJS HistorySingle Page ApplicationsAngularJS Key FeaturesHello AngularJSExtending HTMLMVC PatternHTML TemplatesTwo way Data BindingDirectivesDependency InjectionAngularJS PopularityToolsAngularJS Resources

ExpressionsJSON Data StructuresJSON Object RepresentationJSON Array RepresentationJSON Arrays and ObjectsBuilt-in Directivesng-Controller Directiveng-Controller DeclarationsLexical Closureng-Bind Directiveng-BindHTML directivengRepeat DirectivengModel DirectivengClick DirectiveCustom Directives

FiltersFilter in TemplatesCurrency FilterUpper and Lower Case FilterorderBy FilterFilter on CriteriaMultiple FiltersDate FilterJSON FilterLimitTo FilterCustom FiltersFilter AnatomyCustom Reverse FilterCustom Currency FilterUsing Filters in ControllersController Function as FilterCustom Filter in ControllerUsing $filter in Controller

Module 4 : Forms and Validation Module 5 : Routing Module 6 : Services

AngularJS FormsText InputsCheckboxesRadiobuttonsSelect Options in HTMLSelect Options in ArrayTracking Changes by CSSValidationValidation StylingNested FormsForm SubmissionAjax Form SubmissionForm ResetTouched versus Dirty

RoutingAngularJS RoutesRouting Configurationng-ViewUI-RouterApplication StartDifference with ngRouteStates and ServicesActivating StatesUI-Router Directives$stateProvider$stateParams

What are Services?Need for ServicesBuilt-In Services$log Service$filter ServiceCreating Services with FactoryInjecting ServicesCreating Services with ServiceService with Provider$http ServiceUsing built-in ServiceDependencies

Module 7 : Templates Module 8 : Modules Module 9 : Miscellaneous Topics

Angular TemplatesStatic Templatesng-include$templateCache Service

Understanding ControllersInjected Controller in ModuleAvoid Global NamespaceController in Module

RESTREST Services$resource ServiceCreate a Resource

Static Template in FileTemplate AdjustmentDynamic Static TemplateNested ng-includeRecursive TemplatesRecursive JSON StructureCustom DirectivesCustom Element DirectivetemplateUrl PropertyVariable Binding in DirectiveIsolating $scope from Directive

Controller in Separate FileTwo way Data BindingInheritancesScopes$watch ScopeInheritanceScope InheritanceScope Event PropagationScope Life Cycle$watch, $apply(), $digest()Multiple ModulesRecommended Setup

Resource FactoryResource ConstructorResource InstanceAnimation in JavaScriptAnimation PerformancejQuery AnimationsCSS Enabled AnimationsAnimating in AngularJSAnimating EventsAnimating ngRepeatngShow and ngHideAnimating ng-view

JAV100: Cursus Java ProgrammerenCode: JAV100 Duur: 5 dagen Prijs: € 2100

Doelgroep voor de Java TrainingDevelopers die willen beginnen met Java Programmeren of personen die Java code willen begrijpen.

Voorkennis van Java ProgrammerenElementaire kennis van en ervaring met programmeren is vereist om aan deze cursus tekunnen deelnemen. De principes van Object Oriented Programming met Java wordentoegelicht. Voorafgaande kennis hiervan is bevorderlijk voor de begripsvorming.

Uitvoering Opleiding Java ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Demos zorgen voor een verduidelijking van de theorie. Er wordt gewerkt metJava 8. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Java ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus Java een officieel certificaatJava Programmeren.

Inhoud Java CursusDeze cursus java behandelt de basis principes van het Java platform en versie 8programmeertaal . Op basis van op elkaar volgende oefeningen in een case study, lerende deelnemers om te programmeren met de variabelen, data types, operatoren en controlflow constructies van de taal. De cursus behandelt ook de object georiënteerde begrippenals class, object, inheritance en polymorphism. Er wordt aandacht besteed aan fouten en exception handling en er wordt besproken hoe Java software wordtopgedeeld in packages. De splitsing van een programma in verschillende subtaken door threads en de synchronisatie van deze threads is ook onderwerp van decursus. Nieuw geïntroduceerde kenmerken in de taal, zoals geparametriseerde types, generics, en het gebruik daarvan in het Collection Framework maken ook deeluit van het cursusprogramma. Ook wordt ingegaan op de in versie 8 geintroduceerde lambda’s en functional interfaces. Optionele modules zijn de toegang totdatabases met JDBC, Java Beans en Graphical User Interfaces, GUI’s. Deze modules kunnen, indien de tijd het toelaat worden behandeld. Deze cursus is eengoede voorbereiding op het Java 8 Programmer Exam Part I (1Z1-808) ook wel OCA genoemd. In combinatie met de cursus Advanced Java Programming bereidtdeze cursus ook voor op het Java 8 Programmer examen deel II (1Z0-809) ook wel OCP genaamd.

Module 1 : Basic Concepts Module 2 : Language Syntax Module 3 : Classes and Objects

History of JavaJava OverviewLanguage EditionsJava PlatformJava Community ProcessLibrariesJava LanguageSecurityApplication TypesCompiling ProgramsRunning ProgramsCompiler and InterpreterApplication StructureGarbage Collection

Java CommentsVariablesTypes of VariablesPrimitive Data TypesBlock StatementsOperator PrecedenceFlow Controlif else Statementsswitch Statementfor and while Loopdo while Loopbreak and continueArraysEnhanced for LoopStringsFormatted Output

Classes and ObjectsClass DefinitionEncapsulationAccess ModifiersConstructorsCreating ObjectsFields and MethodsUsing Objectsstatic Modifierstatic BlocksObject Initializersthis KeywordParameter PassingMethod OverloadingVariable ArgumentsObject Referencesfinal ModifierObject DestructionLambda Functions

Module 4 : Inheritance Module 5 : Exception Handling Module 6 : Packages

Inheritanceextends KeywordOverriding and HidingPolymorphismAbstract ClassesInterfacesImplementing InterfacesType CastingImplicit CastingExplicit CastingCloneable InterfaceCloning Objects

Error ConditionsExceptions in JavaException Handling SyntaxException HierarchyMultiple Catch ClausesMulti Catch Clausefinally Clausetry with ResourcesException InformationPredefined ExceptionsCommon ExceptionsThrowing ExceptionsUser Defined ExceptionsChained ExceptionsRethrowing ExceptionsStack TracesAssertions

PackagesInside PackagesStandard PackagesCreating PackagesImporting ClassesUsing PackagesCLASSPATHimport staticVisibilityPackaging in JARRunnable JARS

Module 7 : Threads Module 8 : Synchronization Module 9 : Special Classes

Multiple ThreadsBenefits and DrawbacksThread CharacteristicsJava Thread ModelThread ClassRunnable interfaceExtending ThreadImplementing RunnableDaemon ThreadsThread Life Cycle StatesThread Alive StatesThread Class MethodsSleeping and Yielding ControlUsing join and interruptThread PrioritiesSuspending and Resuming

Concurrent Method ActivationSynchronizationBlocking on a MonitorMutual Exclusion in JavaSynchronized StatementLocking and StaticsDeadlockCondition SynchronizationUsing wait and notifywhile Loop and notifyall

Inner ClassesTypes of Inner ClassesAnonymous Inner ClassesInner Class AdvantagesEnumerationsOld Enumerations IssuesEnum TypesDeclaring EnumsEnums as Constant ObjectsEnums are ClassesEnum Methods and FieldsAdvantages new EnumsFunctional Interfaces

Module 10 : Utility Classes Module 11 : Collection Framework Module 12 : Generics

Object ClassWrapper ClassesAutoboxing and UnboxingOverriding equalsMath Classnew Date APIRegular ExpressionsScanner ClassProcess ClassRuntime ClassSystem ClassLocale ClassLocalizing DatesLocalizing NumbersLocalizing CurrenciesJavadoc

Collection FrameworkFramework BranchesImplementation ClassesLegacy CollectionsCollection InterfaceIterator InterfaceConcrete CollectionsList InterfaceArrayList ClassLinkedList ClassAdding to LinkedListSet and SortedSetNavigableSet and MapComparable InterfaceComparator InterfaceMap InterfaceOptional MethodsViews

Generics ExplainedSyntax Generic ClassNeed for GenericsBenefits of GenericsGeneric Class ExamplesGenerics in CollectionsGeneric CharacteristicsType ErasureBounded Type ParameterGenerics and SubtypingInheritance RelationshipsWildcardsWildcards ArgumentsUpper Bounded WildcardsLower Bounded WildcardsRaw TypesGeneric Methods

Module 13 : Stream I/O Optional Module : JDBC Optional Module : Java Beans

I/O BasicsI/O ClassesByte Stream ClassesCharacter Stream ClassesStandard I/O StreamsStream TypesData Sink StreamsProcessing StreamsBuffered StreamsReading Stream from WebData Conversion StreamsSerializationSerializable ClassesObject Streams

JDBCJDBC Overall ArchitectureJDBC DriversJDBC URL’sMaking ConnectionsExecuting a StatementRetrieving ResultsJDBC-ODBC Bridge

Software ComponentsJava BeansBeans TerminologyBean Component ModelBean Event PatternEvent FiringEvent ClassEvent Listener InterfaceDispatching Events

Optional Module : GUI’s

Abstract Window Toolkit (AWT)Controls and ContainersLayout ManagersEvent ListenersSwing LibraryWindow PaintingSwing and ThreadsJava FXScene Graph

JAV130: Cursus Eclipse IntroductieCode: JAV130 Duur: 1 dag Prijs: € 499

Doelgroep Cursus Eclipse Deze cursus is bestemd voor developers die willen leren hoe je de Eclipse IDE kuntgebruiken bij de ontwikkeling van software.

Voorkennis EclipseElementaire kennis van en ervaring met programmeren is vereist om aan deze cursus tekunnen deelnemen.

Uitvoering Training EclipseDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Demo’s zorgen voor een verduidelijking van de theoretische concepten. Decursustijden zijn van 9.30 tot 16.30.

Certificering EclipseDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatEclipse Introductie.

Inhoud Cursus EclipseIn de cursus Eclipse Introductie leren de deelnemers hoe ze kunnen werken met deEclipse ontwikkelomgeving. Eclipse is een veelgebruikte IDE (Integrated DevelopmentEnvironment) voor applicatie ontwikkeling. Vaak wordt Eclipse gebruikt om Java applicaties te ontwikkelen, maar er zijn ook plugins beschikbaar voor het ontwikkelenvan PHP en C++ applicaties. De rol van views en perspectives in Eclipse wordt besproken en de deelnemers leren hoe ze Eclipse kunnen configureren voor eenreeks van verschillende taken, zoals het gebruik van een specifieke Java SDK of Java-versie of het gebruik van een specifieke applicatie server. De creatie vanverschillende typen Eclipse projecten zal worden besproken en de deelnemers zullen ook leren hoe ze hun weg kunnen vinden in de veelheid van instellingen enconfiguratie opties in Eclipse. Ook wordt aandacht besteed aan het debuggen van applicaties in het Eclipse Debug perspective. Verder is de uitbreiding van Eclipsedoor de installatie van Eclipse Plugins onderdeel van de cursus. Tenslotte komt de integratie met JUnit en de inrichting van JUnit tests aan de orde.

Module 1 : Eclipse Intro Module 2 : Eclipse IDE Module 3 : Eclipse Plugin Architecture

Eclipse Project AimsEclipse OverviewEclipse OriginsEarly History of EclipseEclipse as Java IDEEclipse as IDE FrameworkEclipse as Tools FrameworkTop Level ProjectsEclipse ProjectsEclipse Open Source CommunityEclipse Eco SystemEclipse Foundation

About IDE’sWorkspace ComponentStandard Widget ToolkitEclipse on Windows XPEclipse on MacOSWorkbench TerminologyEditorsViewsPerspectivesDebug ComponentAnt ComponentHelp ComponentJava Development ToolsJava PerspectiveJava EditorRefactoringEclipse Java CompilerEclipse Java Debugger

Eclipse LayeringEclipse Plugin ArchitectureEclipse PluginsPlugin ManifestEclipse Plugin ArchitecturePlatform ArchitecturePlugin ActivationPlugin FragmentsPlugin InstallEclipse and OSGIImport-PackageRequire-Bundle

Module 4 : Eclipse JUnit

Test Driven DevelopmentUnit TestingWhat is and why JUnit?JUnit FeaturesJUnit Based Test CodeJUnit mechanicsSimple TestSimple TestcaseAssert StatementsFixturesTest SuitesTest RunnerJUnit classes

JAV175: Java Certificeren CursusCode: JAV175 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Java Certificeren Ervaren Java developers die zich willen voorbereiden op het Java 8 programmer examstep 1 (OCA) en step 2 (OCP).

Voorkennis Java voor Cursus Java CertificerenKennis en ervaring met object georiënteerde concepten en programmeren in Java isvereist om aan deze cursus te kunnen deelnemen.

Uitvoering Training Java CertificerenDe cursus heeft een hands-on karakter. De theorie wordt afgewisseld met praktischeoefeningen en demos. Verschillende proefexamens met test vragen voor het examenworden besproken. Het cursusmateriaal is in het Engels. De cursustijden zijn van 9.30 tot16.30.

Officieel Certificaat JavaDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaProgrammer Certification.

Inhoud Java Certificeren CursusIn de cursus Java Programmer Certification worden de deelnemers voorbereid op hetJava 8 programmer examen step 1 (OCA) en step 2 (OCP). Speciale aandacht wordt besteed aan onderwerpen die vaak als moeilijk worden beschouwd, zoalsconcurrency en synchronisation. Speciale aandacht is er ook voor onderwerpen als generics, collection classes, database access met JDBC en new I/O. Op basisvan test vragen en proefexamens, worden de onderwerpen die deel uitmaken van het examen behandeld. Onderwerpen als declarations en access control, objectorientation, assignments en operators, flow control, exceptions en assertions, strings, I/O formatting en parsing, inner classes, concurrency en synchronization wordeneveneens besproken. Afhankelijk van de interesse van de deelnemers kunnen bepaalde onderdelen desgewenst met meer diepgang worden behandeld.

Module 1 : Concurrency Module 2 : Generics Module 3 : Collection Framework

Concurrency PackageConcurrency Package BenefitsContents Concurrency PackageTask Scheduling FrameworkExecutor InterfaceExecutorServiceExecutors ClassCallables and FuturesScheduledExecutorServiceSynchronizersSemaphoresCountdownLatchCyclicBarrierExchangerConcurrent Collections

Generics explainedSyntax Generic ClassNeed for GenericsBenefits of GenericsGeneric CharacteristicsType ErasureGeneric Class ExamplesGenerics and SubtypingWildcardsBounded WildCardRaw TypesType Unsafe Raw TypesGeneric MethodsCollection Framework

Collections FrameworkFramework branchesPrimitive data typesLegacy CollectionsCollection InterfaceIteratorsConcrete CollectionsList InterfaceSet and Sorted SetComparableComparatorMap InterfaceOptional Methods

Module 4 : Database Access with JDBC Module 5 : New IO

JDBC ArchitectureJDBC Drivers and URL’sDatabase ConnectionsExecuting StatementsQuerying DatabasesUpdate StatementsRetrieving ResultsHandling ErrorsPrepared StatementsDatabase MetadataTransactionsCommit and RollbackRowset InterfacesUsing RowsetProvider

What is NIO?Synchronous I/O ProcessingAsychronous I/O ProcessingWorking with BuffersIO ChannelsSelectable ChannelsSelectorsSelection KeysCharacter SetsUsing Path ClassDirectory TraversingPathMatcher classUsing WatchService

JAV200: Cursus Java EE Web DevelopmentCode: JAV200 Duur: 4 dagen Prijs: € 1850

Doelgroep Cursus Java EE Web Component Development Developers die Java Web applicaties met Java EE componenten zoals Servlets, JSP’s,custom tags, Struts en JSF willen bouwen.

Voorkennis Cursus Java EE Web Component DevelopmentOm aan deze cursus te kunnen deelnemen is ervaring met programmeren in Java enobject oriëntatie vereist.

Uitvoering Training Java EE Web Component DevelopmentDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Demos zorgen voor een verheldering van de theorie. Alle onderwerpen diegevraagd worden op het Java Web Component Developer examen (CX 310-083) wordenbesproken. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Java EE Web Component DevelopmentDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaEE Web Component Development.

Inhoud Cursus Java EEDe cursus Java EE Web Component Development behandelt hoe servlets en JSP’sworden gebouwd en gebruikt in Java EE Web Applications. Eerst worden de belangrijkste methoden van servlets besproken, zoals methoden die gebruikt worden inde servlet initialisatie, bij het lezen van HTTP request data en bij het schrijven van HTTP response data. De verschillende scopes van web applicaties zoals sessiescope en application scope worden toegelicht. Naast de basis syntax van JSP scriptlets, staan expressions en declarations op de agenda en worden deverschillende JSP page directives behandeld. Een centraal element in de cursus is het MVC design pattern voor Java Web Applications waar servlets fungeren alscontroller voor program logic en JSP’s als view voor output data. Bij het bespreken van dit design pattern, wordt de RequestDispatcher interface behandeld evenalsde manieren waarop attributen kunnen worden opgeslagen en teruggevonden in verschillende scopes. Ruime aandacht wordt besteed aan technieken om Javacode te scheiden van het JSP view. In het bijzonder wordt het gebruik van Java beans en custom tags voor dit doel besproken. Verder komt de rol van deploymentdescriptors aan bod en worden security in web applicaties, filters en het event framework besproken. Op de laatste dag van de cursus zal de nadruk liggen op eenoverzicht van twee veel gebruikte frameworks voor Java Web Applications, Struts en JSF (Java Server Faces). De relatieve nadruk die deze frameworks krijgen wordtbepaald door de deelnemers aan de cursus.

Module 1 : Introduction Module 2 : Servlets Module 3 : Web Application Structure

Java EditionsJava EE StandardJava EE ServersWhat is a servlet?Possible servlet tasksSimple ServletWhat is a Java Server Page(JSP)?Simple JSPProblems with Servlets and JSPClassic MVC patternModel 2 ArchitectureExample MVC Framework

ServletsServlet interfaceReading initialization parametersConcurrent AccessServletContext interfaceDestroying servlets

Web applicationsPurposes of Web ApplicationsStructure of a Web applicationExample StructureRegistering a Web applicationDefining Custom URL’sWAR FilesHandling Relative URL’s

Module 4 : HTTP Servlets Module 5 : Scope Objects Module 6 : Sessions

HTTP Requests and ResponsesHttpServletsservice, doGet and doPostReading Form DataHTTP Request HeadersOther HttpServletRequest MethodsPopulating the ResponseHTTP Status CodesHTTP Response Headers

Sharing data with Scope ObjectsAttributesServletContextApplication ScopeSession ScopeRequest ScopePage Scope

Why Session Tracking?Session Tracking MechanismsSending and reading cookiesMethods in the Cookie APISession tracking with CookiesURL RewritingHidden from fieldsHttpSession methodsSession tracking API

Module 7 : JSP’s Module 8 : JSP Directives Module 9 : JSP Standard Actions

The need for JSPTypes of scripting elementsBenefits of JSPTranslation and Request TimeSetting up your environmentExpressionsPredefined variablesScriptletsDeclarationsjspInit and jspDestroy

What are JSP directivesJSP page directiveimport attributecontenttype attributegenerating Excel dataisThreadSafe attributesession attributebuffer and autoflush attributesextends attributeerrorPage and isErrorPageinclude directivetaglib directive

Including files at request timejsp:includeIncluding appletsjsp:plugin, jsp:param and jsp:paramsWhat are beans?Basic use of beans in JSPAccessing bean propertiesSetting bean properties explicitlyAssociation with input parametersSharing BeansValues of the Scope attributeConditional Bean Operations

Module 10 : MVC Architecture Module 11 : Expression Language Module 12 : Custom Tags

Why combine servlets and JSP?Handling a single requestMVC ApproachImplementing MVCDispatching requestsStoring Data in Servlet RequestStoring data in SessionStoring data in ServletContextForwarding requestsIncluding requests

Main point of ELAdvantages of Expression LanguageActivating the Expression LanguageInvoking the ELCommon EL problemReferencing scoped variablesAccessing bean propertiesUsing EL operators

What are tag libraries?Custom Tag FeaturesComparison of tag extensionsComponents of a tag librarySimple Tag HandlerSimple Tag Library DescriptorAccessing Custom Tags from JSPTags that use attributesTags that use body contentTags that optionally use body contentJSP-based tags (tag files)Tags manipulating their bodyTags with dynamic attribute valuesComplex objects for attributesLooping tagsNested tags

Module 13 : Deployment Descriptors Module 14 : Security Module 15 : Filters

Deployment DescriptorVersion 2.3 versus 2.4Defining Custom URL’sNotes on Custom URLsDisabling invoker servletApplication Wide InitializationPreloading pagesWelcome pagesError pagesSession Time-Outs

Major security concernsDeclarative securityProgrammatic securityForm-based authenticationDeployment Descriptor settingsLogin ScreensBASIC authenticationProblems with declarative securityCombining security mechanismsPure Programmatic SecurityProgrammatic Security with SSL

What are Filters?Advantages of FiltersFilter InterfaceCreating FiltersdoFilter methodServlet Filter Related ClassesFilters in a ChainSample Reporting FilterFilter MappingAccessing the Servlet ContextFilter initialization parametersModifying the Response

Module 16: Event Listeners Module 17: Java EE Design Patterns Module 18: Struts

Life-Cycle Events FrameworkAvailable ListenersImplementation StrategyReason for listenersServletContext ListenersServletContextAttributeListenersHttpSession ListenersSessionAttribute Listeners

Intercepting FilterFront ControllerBusiness DelegateService Locator

What is Apache Struts?Advantages of StrutsDisadvantages of StrutsStruts Schematic OverviewStruts Major ComponentsStruts Action MappingsJava Beans and ScopeActionForm beansAction ClassesProperties and ActionForm beansResources filesStruts tag libraries

Module 19 : JSF

Advantages of JSFJSF and StrutsSteps in JSFSimple Navigationfaces.configDynamic NavigationAction ControllersManaged BeansConverter and ValidatorsJSF tag libraries

JAV250: Cursus Java EE Web Development met JSFCode: JAV250 Duur: 4 dagen Prijs: € 1850

Doelgroep Cursus Java EE Web Development Developers die Java Web applicaties met het standaard JSF 2.x Framework willenbouwen.

Voorkennis Cursus Java EEOm aan deze cursus te kunnen deelnemen is ervaring met programmeren in Java enobject oriëntatie vereist. Voorkennis van Java EE Web Applications is bevordelijk voor eengoede begripsvorming.

Uitvoering Training Java EEDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Demos zorgen voor een verheldering van de theorie. De cursustijden zijn van9.30 tot 16.30.

Officieel CertificaatDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaEE Web Development met JSF.

Inhoud Cursus Java EE Web Development met JSFDeze cursus behandelt hoe moderne state of the art Java EE web applicaties wordengebouwd met het Java Server Faces (JSF 2.x) framework. De cursus begint met de fundamenten van de JSF Framework dat is gebouwd bovenop het Java WebProgramming model en gebruik maakt van het MVC pattern met een Front Controller als centraal element. De architectuur van de JSF Framework, dat een statefullcomponent model op de server gebruikt, wordt besproken. Vervolgens wordt aandacht besteed aan de rol van het Faces Servlet en de verschillende fasen van deJSF Request Life Cycle. De rol van het centrale configuratie bestand faces-config.xml wordt uitgelegd en ook worden de navigation rules in JSF en de rol van demanaged beans behandeld. Vervolgens wordt de structuur van een JSF pagina met Facelets, het gebruik van de Expression Language en het gebruik van deverschillende UI componenten en custom tag libraries besproken. Event handling uit de UI componenten krijgt de aandacht en ook de validatie en conversie vaninput uit de User Interface met behulp van JSF built-in of custom validators en converters passeert de revu. Daarna wordt er besproken hoe het moderne asynchroneAjax request model kan samenwerken met JSF. Tot slot wordt aandacht besteed aan het creëren van custom components, facelet templates en het gebruik van viewparameters.

Module 1 : JSF Intro Module 2 : JSF Basics Module 3 : Managed Beans

JSF BackgroundServlet and JSP ProblemsClassic MVC PatternModel 2 ArchitectureStruts FrameworkJSF FrameworkJSF Feature OverviewServer Side UI ComponentsJSF Application ArchitectureRequest Processing PhasesJSF ImplementationJSF APIJSF Libraries on Google TrendsRoles in JSF

Choose JSF ImplementationDeployment DescriptorPROJECT_STAGE DevelopmentFaces Configuration FileFacelets Page StructureManaged Beans@ManagedBean AnnotationHello JSFDefault NavigationFacelet Default NavigationHandling Request ParametersAnalyzing Request ParametersFacelet Input FormSelecting Result PagesCommon JSF ProblemsJSF Tradeoffs

Java BeansBean propertiesAccessor UsageEncapsulation BenefitsManaged BeansParts of Managed BeansPlaceholder for ResultsDual Role Bean PropertiesTextfields and CheckboxesPrepopulating Input FieldsNaming BeansBean ScopesBean Scope AnnotationsApplication and Session ScopeRaw Request and ResponseDependency InjectionManagedProperty

Module 4 : Navigation Module 5 : Properties Module 6 : Expression Language

JSF NavigationStatic NavigationNavigation Rule SyntaxExplicit Mapping ConsiderationsDynamic NavigationDynamic Navigation LogicExplicit Dynamic Navigation RuleBean DeclarationsBean Declaration ConsiderationsConfiguring Managed BeansSharing Result PagesUsing WildcardsPrecedence for WildcardsOmitting from-outcomeConditional Navigation RulesComputed to-id’sCommon Navigation ProblemsCommon Errors

PropertiesUsing Property FilesUsing SubfoldersFacelet using PropertiesParameterized MessagesParameterizing DisplayUsing f:paramUsing Parameterized PropertiesInternationalized MessagesLocalizing StringsUsing Localized Messages

Expression LanguageAdvantages ELJSF versus JSP ELOutputting Bean PropertiesNested Bean PropertiesSubmitting Bean PropertiesGetter versus Setter CallsAccessing CollectionsUsing Square BracketsImplicit ObjectsEL OperatorsConditional TextRendered AttributeMethod Arguments

Module 7 : Event Handling Module 8 : Validation Module 9 : Ajax

User Interface EventsEvent Handlers versus AjaxTypes of Event ListenersActionListener in FaceletsImplementing ActionListenerChange CSS StyleChange Style Input FormChange Style BeanBean for Action ControllerSetting the LocaleLocale from User SettingsSwitch LocaleValueChangedListener

Need for ValidationValidation ApproachesManual ValidationStandard Error SystemCreating Error MessagesDisplaying Error MessagesManual Validation in BeanAction Controller MethodAlternative ApproachImplicit Automatic ValidationPrecedence Validity TestsExplicit Automatic ValidationFormat Validator TagsConversion versus ValidationCustom Validator Methods

Ajax Web ApplicationsAjax in JSFSimple JSF AjaxGeneral Form f:ajaxAjax Facelets PagesAjax Controller Methodsrender AttributeFacelet Non-Ajax VersionFacelet Ajax Versionexecute AttributeFacelets Code executeevent AttributeDefault Eventsonevent AttributeLimitations h:outputText

Module 10 : Data Tables Module 11 : Composite Components Module 12 : Facelet Templating

Handling Variable-Length Datah:dataTableUsing h:dataTableh:ColumnHeaders and CaptionsStyleSheetsAjax-enabled tablesTables conditional valuesLooping with ui:repeatConditional Text

Composite ComponentsComponent DefinitionUsing ComponentsComponents with AttributesUsing Composite AttributeComponent StructureUsing ui:repeatRelative URL’sNested ComponentsComponent Files

Page TemplatingUsing TemplatesNamespaces Template FilesTemplate File DetailsTemplate File ExampleClient File DetailsClient File ExampleIncluding FilesUsing ui:includeSnippet FilesHandling Relative URL’s

Module 13 : View Params

View ParamsWhy View ParamsUsing View ParamsTypical Page StructureCapture Request Parametersh:link and h:buttonOutgoing Request ParametersUsing non-JSF formsJSF page use f:viewParamUsing POST-redirect-GETBookmarkable Result Pages

JAV300: Cursus Java EE EJB Business ComponentsCode: JAV300 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Java EE EJB Business Components Java developers die met Java EE 6 EJB business componenten willen leren ontwikkelen.

Voorkennis Java EE Web DevelopmentKennis van en ervaring met programmeren in Java en de beginselen van object oriëntatieis vereist om aan deze cursus te kunnen deelnemen. Kennis van Java EE WebDevelopment is wenselijk.

Uitvoering Training Java EE EJB Business ComponentsDe theorie wordt gepresenteerd in de vorm van slides en afgewisseld met praktischeoefeningen. Demos dienen ter verheldering van de theorie. Alle onderwerpen die wordengevraagd op het Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam (1Z0-895) worden besproken. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Java EEDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaEE EJB Business Components.

Inhoud Cursus Java EE EJB Business ComponentsDe cursus Java EE EJB Business Components richt zich op Enterprise JavaBeans, zoalsgespecificeerd in de EJB 3.x specificatie als onderdeel van de Java EE 6. Aandacht wordt besteed aan de 3 verschillende types van Enterprise Beans zoals SessionBeans, Message Driven Beans en Singleton beans. Het Java Naming and Directory Interface (JNDI) wordt besproken evenals hoe beans kunnen worden gevondenen geinstantieerd door injection. Hierbij komen de lifecycles van de beans aan de orde en worden concurrency problemen besproken. Een belangrijke rol isweggelegd voor annotaties. Deze komen op veel plaatsen in de cursus aan de orde zoals bij het leggen van links met resources en de realisatie van persistence.Aandacht wordt besteed aan het gebruik van EJB Query Language en de implementatie van Object Relational Mapping in EJB 3.x. Ook komen de transacties in eenJava EE 6-omgeving aan bod en wordt aandacht besteed aan de Java EE security architectuur en de verschillende authenticatie en autorisatie strategieën. JMS ende toepassing ervan in combinatie met Message Driven Beans staan eveneens op het programma. En tot slot wordt de aandacht gericht op best practices en designpatterns in EJB technologie.

Module 1 : Java EE Intro Module 2 : Enterprise Java Beans (EJB) Module 3 : JNDI and Injection

Java EditionsJava EEEnterprise ApplicationsJava EE ServersWeb ComponentsEJB ComponentsJavaBean componentsWeb ServicesJava EE API’sEAR FilesDeployment DescriptorsAnnotationsJava EE 6

EJB featuresDistributed ObjectsSession BeansStatefull and StatelessArchitecture of an EJBEJB Object at workClient AccessRemote versus Local ClientsWeb Service ClientsSingleton BeansSingleton Concurrency AccessConcurrency management strategySession faÇadeEJB Programming ModelLife Cycle Session BeansMessage Driven beansLife Cycle Message Driven Beans

Locate resources with JNDIJNDI ArchitectureJNDI InitialContextJNDI Naming ContextEJB EnvironmentStandard JNDI SubContextsDependency InjectionDataSource InjectionInjection of EJB ReferencesExample EJB Injection

Module 4 : Java Persistence API Module 5 : Entity Callbacks and Listeners Module 6 : Session Beans

Persistence APIEntity ClassesEntity ManagerPersistence ContextEntity IdentityEntity ManagersEntity LifecycleEntity RelationshipsPersisting ObjectsRemoving ObjectsMerging ObjectsManaging Identity

Life Cycle Callback methodsEntity ListenersLife Cycle Callback RulesSignature Life Cycle CallbacksSignature Entity Listeners@PrePersist and @PostPersist@PreRemove and @PostRemove@PreUpdate and @PostLoadMultiple Invocation CallbacksInvocation Order

Session Beans OverviewStateless Session BeansLifecycle Stateless Session BeansEvent callbacksAsynchronous communicationSingleton session beanSingleton concurrency accessStateful Session BeansServicing RemovePassivating and ActivatingCart Session BeanRemote Business InterfaceCart Session Bean ClassLife Cycle Callback MethodsCalling Business MethodsRemove method

Module 7 : Message Driven Beans Module 8 : Timer Service Module 9 : Interceptors

Motivation Message Driven BeansMessaging Characteristics

Timer ServiceScheduling Timers

InterceptorInterceptor Classes

Message Oriented MiddlewarePublish and SubscribePoint tot PointWhat is JMS?Message typesCreating and Receiving MessagesIntegrating JMS with EJBMessage Driven BeansMessageListenersonMessage method

Creating TimersTimeout method rulesCanceling and Saving TimersTimer UsagesTimer Service interfaceTimer interfaceTimer handle interface

@AroundInvokeExample InterceptorInterceptor LifecycleInterceptor TypesDefault InterceptorsExclude Interceptors

Module 10 : Transactions Module 11 : Security Module 12 : EJB and Web Services

TransactionsDemarcating BoundariesContainer ManagedBean ManagedClient ManagedTransaction AttributesSessionSynchronizationBefore CompletionAfter Completion

Java EE security architectureJava EE and EJB SecuritySecurity OverviewProgrammatic SecurityJava EE authorization strategiesDeclarative SecuritySecurity FunctionsUsing Programmatic SecurityMethod PermissionsDeclareRolesejb-role-refrole-link

What is a Web Service?RPC ExampleStructure SOAP MessageWhat is WSDLStateless Session Bean EndpointJAX-WSPublishing an EndpointWeb Service Annotations

Module 13 : EJB Best Practices Module 14 : Clustering Optional Appendix : Annotations

Define best practicesBenefits of EJB best practicesPatterns to Java EE application designImplements effective exception handlingEJB Design Patterns

What is clustering?Thin Client ClusteringThick Client ClusteringJBoss all configurationClustering StackWhat is JGroupsWhat is JCacheHA-JNDIHA-Smart ProxiesSLSBsSFSBsHTTP session replicationEntity beansEJB3POJO Clustering

What are annotations?Pre-Java 5 annotationsWhy annotationsDefining annotation typesUsing annotationsKinds of annotationsMarker annotationsSingle value annotationsNormal annotationsMeta-Annotations

Optional Appendix : JMX

What is JMX?JMX APIJMX GoalManaged BeansMBean flavorsJMX ArchitectureJava SE 5.0 MbeansNaming MBeansMBean ServerRegistering MbeansManipulating MBeansNotificationsNotification Listeners

JAV303: Cursus Java ME Mobile ProgrammerenCode: JAV303 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Java ME Mobile Programmeren Deze cursus is bestemd voor Java developers die willen leren om mobile applicaties inJava te ontwikkelen.

Voorkennis Java ME Mobile ProgrammerenOm aan deze cursus te kunnen deelnemen is ervaring met programmeren in Java enbasiskennis van embedded systemen en devices vereist.

Uitvoering Training Java ME Mobile ProgrammerenDe concepten worden behandeld aan de hand van presentatie slides. Illustratieve demo’sop emulated devices worden gebruikt om de behandelde concepten te verhelderen. Er isruime gelegenheid to oefenen en een sterke afwisseling van theorie en praktijk. Decursustijden zijn van 9.30 tot 16.30.

Certificering Java ME Mobile ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaME Mobile Programmeren.

Inhoud Cursus Java ME Mobile ProgrammerenIn de cursus Java ME Mobile Programmeren wordt de Connected Limited DeviceConfiguration (CLDC) als onderdeel van de Java Micro Edition (Java ME) besproken. Aan de orde komt hoe de CLDC een Java runtime omgeving biedt voor kleinedevices met beperkte resources, zoals mobiele telefoons, personal digital assistants (PDA’s) en POS (Point of Sales) terminals. Aandacht wordt besteed aan de Kvirtual machine (KVM) en het programmeren van applicaties voor mobiele telefoons en PDA’s met het Mobile Information Device Profile (MIDP). Met name komenuser interfaces voor mobiele telefoons, data access op mobiele telefoons en internet verbindingen aan de orde. Ook wordt de Connected Device Configuration (CDC)als onderdeel van de Java Micro Edition (Java ME) besproken. Hierbij wordt aandacht besteed aan de CVM virtual machine, het Foundation Profile en de PersonalProfiles. Tot slot komen diverse optional packages aan bod.

Module 1 : Java ME Module 2 : MIDP Overview Module 3 : MIDP GUI Programming

Java ME Back to the rootsPlace of Java MEJava Community ProcessJava 2 Platform ArchitectureRelation to other technologiesOrganization of Java MEJava ME ArchitectureConfiguration and ProfilesCLDC ConfigurationCDC ConfigurationMIDP ProfileIMP ProfileCDC ProfilesOptional PackagesJWTI specification

Mobile Information Device ProfileMIDletsMIDlet Life Cycle StatesMIDlet Life Cycle MethodsMIDlet Build CyclePreverificationMIDlet SuitesPackaging the applicationJAD and JAR ManifestMIDlet Suite Execution Environment

MIDP GUI ProgrammingMIDP UI MethodologyMIDP UI ClassesHigh and Low level APIMIDP GUI Programming ModelDisplay and DisplayableScreen and CanvasAlert, List, TextBox and FormForm ItemsChoice GroupsTickersGaugesGuidelines for MID UI Programming

Module 4 : MIDP Event Handling Module 5 : MIDP Data Access Module 6 : MIDP Networking

User interactionCallbacksScreen Navigation with CommandsCommand PlacementHandling High Level Commands

Persistent StorageRecord Management SystemCharacteristics of the Record StoreRMS class and interfacesRMS ExceptionsRecord StoresProgramming RMSRecord Store StatesReading and Updating RecordsDeleting and ClosingSorting and SearchingGetting RecordIDMetadata on Record Store

CLDC Generic Connection frameworkNetworking interfaceConnection Interface HierarchyConnection ExamplesHTTP Connection interfaceConnection SetupConnection StateSending a HTTP GET RequestSending a HTTP POST RequestAdded features in MIDP 2.0

Module 7 : MIDP 2.0 Module 8 : Mobile Media API (MMA) Module 9 : Wireless Messaging API (WMA)

MIDP 2.0 Specification GoalsMedia API Play SoundsEnhanced FormsEnhanced networkingSecure networkingCode Signing and PermissionsEnhanced Game APIPush functionalityOTA Provisioning

Mobile Media APIOverview of MMAPIMulti Media ProcessingThe MMAPI ArchitectureMMAPI PackagesTone GenerationMP3 PlaybackVideo PlaybackCamera support

Wireless Messaging APIWMA PackagesWMA 2.0 Message TypesMessage and Sub interfacesStructure MMS Multipart MessageWMA ConnectionsConnection relation to GCFCreating ConnectionsSMS Send

SMS Receive

Module 10 : Game API in MIDP 2.0 Module 11 : BlueTooth API Module 12 : Other J2ME optional packages

Game API OverviewThe Game PackageExample GameGame loopMIDP 1.0 Game LoopMIDP 2.0 Game LoopGame CanvasSpritesSprite Animation and ManipulationManaging Tiles and LayersUser InputCollision DetectionConcurrency

What is Bluetooth?Frequency HoppingJava API’s for BluetoothBluetooth Network TopologyEstablishing Bluetooth connectionBluetooth in Java MEDevice discoveryService discoveryCommunication

Java ME Platform SpecificationWeb Services API for Java MELocation API for Java MESecurity and Trust Services APISession Initiation Protocol (SIP)RMI for Java MEJDBC for Java MEPDA Optional PackagesEvent Tracking API for Java MESVG (Scalable Vector Graphics) API3D Graphics APIMobile InternationalizationContent Handler API

JAV333: Cursus Maven IntroductieCode: JAV333 Duur: 2 dagen Prijs: € 950

Doelgroep Cursus Maven Deze cursus is bestemd voor developers die Maven willen gebruiken voor dependencymanagement en voor het automatisch bouwen en deployen van projecten.

Voorkennis MavenOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met Java en XMLvereist.

Uitvoering Training Maven IntroductieDe theorie wordt besproken aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Demo projecten in Maven dienen te verheldering van de behandeldeconcepten. De cursus gaat in op Maven versie 2. De cursustijden zijn van 9.30 tot 16.30.

Certificering MavenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatMaven Introductie.

Inhoud Cursus MavenIn de cursus Maven Introductie leren de deelnemers de vaardigheden en kennis die nodigis om Maven te gebruiken als een geautomatiseerd build en dependency managementtool. Eerst wordt een overzicht gegeven van de problemen bij project en dependency management, de werking van Maven en rol van Maven repositories. Hierbijkomt aan de orde hoe Maven zich verhoudt tot het automatische build tool Ant. Vervolgens wordt de directory structuur van Maven projecten en de standaard lifecycle besproken. Maven projecten kunnen gecreeerd worden aan de hand van voorgedefinieerde archetypes waarbij vanaf de start al een bepaalde project structuurzit ingebakken. Aan een aantal archetypes wordt aandacht besteed evenals aan de rol van Maven goals en plugins. Vervolgens komt het Project Object Model (POM)met pom.xml aan de orde. De betekenis van de voornaamste entries daarin zoals Group, Artifact en Version, komen aan bod en ook wordt ingegaan op eencomplexere structuur met meedere pom files en pom inheritance. Tenslotte wordt aandacht besteed aan de rol van Maven bij het uitvoeren van tests, aan continuousintegration en release management met Bamboo.

Module 1 : Maven Intro Module 2 : Core Concepts Module 3 : Maven Plugins and Goals

An Introduction to MavenKey Features of MavenHistory of MavenAlternatives to MavenComparing Maven and AntMaven DirectoryMaven Settings (Local and Global)Local Maven RepositoryRunning MavenMaven Options

Maven Directory StructureStandard Maven LifecycleKey Lifecycle PhasesCustomizing the LifecycleLifecycle OverviewDefault LifecycleSite LifecyclePackage-specific Lifecycles

Maven CoordinatesDependency ManagementMaven RepositoriesMaven ArchetypesPluginsMaven Goals

Module 4 : Project and Dependencies Module 5 : Dependencies Module 6 : Inheritance and Aggregation

The Project Object Model (POM)The Simplest POMPOM ComponentsProject CoordinatesGAV (Group, Artifact, Version)Project VersionsSnapshot Versions

Dependency ScopeOptional DependenciesVersion RangesTransitive DependenciesVisualizing DependenciesDependency ConflictsExcluding Transitive Dependencies

POM InheritanceThe Super POMInherited BehaviorThe Effective POMMulti- ProjectsDirectory StructureContainer ProjectsPOM Aggregation

Module 7 : Custom Builds Module 8 : Site Generation Module 9 : Web Development

Properties and ProfilesVariablesPOM Variablessettings.xml propertiesJava System propertiesEnvironment variablesUser-defined propertiesFiltering ResourcesBuild ProfilesProject Configuration with ProfilesProfile ActivationMaven RepositoriesRepository StructureCentral RepositoryOther Remote RepositoriesLocal RepositorySite Generation and Reporting

Standardized EnvironmentExplicit Use of Plugin VersionsThe Enforcer PluginMaven Site as Collaboration ToolThe Site LifecycleDefault Site LayoutCreating a Site ProjectOrganizing Your SiteAdding Site ContentSite Reporting with MavenTechnical DocumentationBrowsable Source CodeDisplaying Test ResultsCode Quality Metrics

Using the Maven Jetty PluginDeveloping Web Applications with MavenRepository ManagementWhat is an Enterprise Repository?Nexus Repositories and SecurityDeploying to Nexus with MavenManaging Maven Settings with NexusConfiguring Procurement in NexusPerforming a Staged Release

Module 10 : Release Management

Release ManagementThe Maven Release PluginDeveloper Release WorkflowIntegration with Source ControlExample Using SubversionWhat is Continuous Integration?Benefits of Continuous IntegrationComparisons of Bamboo to other CI Servers/ProductsSetting Up a Maven Job in BambooMonitoring Bamboo BuildsDemonstration of Bamboo

JAV350: Cursus Java voor TestersCode: JAV350 Duur: 3 dagen Prijs: € 1350

Doelgroep voor deze Java voor Testers Cursus Deze cursus is bestemd voor ervaren testers die willen leren Java en JUnit te gebruikenvoor het schrijven van test scripts.

Voorkennis Training Java voor TestersVoor deelname aan deze cursus is kennis van testen vereist. Ervaring met programmerenis bevordelijk voor de begripsvorming maar niet vereist.

Uitvoering Java Testers CursusDe cursus heeft een hands-on karakter. De theorie wordt behandeld aan de hand vanpresentatie slides en wordt afgewisseld met praktische oefeningen. Het cursusmateriaal isEngelstalig. De cursustijden zijn van 9.30 tot 16.30.

Java Cursus CertificaatDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Javavoor Testers.

Inhoud Cursus Java TestersIn deze cursus leert u de basis syntax van Java en hoe deze te gebruiken bij het schrijvenvan JUnit test scripts. Aandacht wordt besteed aan de diverse data types in Java en deflow control constructies. Ook komt aan het gebruik van classes en objects met methods, parameter passing en private en public data aan de orde. Aandacht wordteveneens besteed aan de opzet van JUnit test, de structuur van JUnit tests, de daarbij gebruikte annotaties en assert statements, de uitvoering van JUnit tests in eenEclipse omgeving evenals de rapportage over de uitkomst van de tests. Tenslotte komen ook exception handling in Java en het Java collection framework aan deorde. De demos en exercises in de cursus worden gedaan in een JUnit omgeving en zijn dan ook direct toepasbaar bij het schrijven van test scripts. Ook wordtaandacht besteed aan het automatiseren van tests in het kader van het opzetten van continuous integration. De cursus vormt een goede basis om deel te nemen aande cursus Web Testing met Selenium.

Module 1 : Basic Concepts Module 2 : Language Syntax Module 3 : JUnit

Java OverviewJava EditionsJava PlatformJava Community ProcessJava LibrariesJava LanguageApplication TypesCompiling Java ProgramsRunning Java ProgramsCompiler and InterpreterApplication Structure

Java CommentsVariablesTypes of VariablesPrimitive Data TypesBlock StatementsOperator PrecedenceFlow Controlif else Statementsswitch Statementfor and while Loopdo while Loopbreak and continueArraysEnhanced for LoopStrings

What is JUnit?JUnit FeaturesJUnit IntegrationJUnit View in EclipseJUnit Test CodeJUnit ClassesJUnit Class DiagramTest CasesTestCase ClassTestResult ClassJUnitCoreAssert StatementsAssert ClassFixturesTest SuitesAnnotationsSpecial CasesTesting for Exceptions

Module 4 : Classes and Objects Module 5 : Exception Handling Module 6 : Collection Framework

Classes and ObjectsClass DefinitionEncapsulationAccess ModifiersConstructorsCreating ObjectsFields and MethodsUsing Objectsstatic Modifierthis KeywordParameter PassingMethod OverloadingVariable ArgumentsObject Referencesfinal ModifierObject Destruction

Error ConditionsExceptions in JavaException Handling SyntaxException HierarchyMultiple Catch ClausesMulti Catch Clausefinally Clausetry with ResourcesException InformationPredefined ExceptionsCommon ExceptionsThrowing ExceptionsUser Defined ExceptionsChained ExceptionsRethrowing ExceptionsStack TracesAssertions

Collection FrameworkFramework BranchesImplementation ClassesLegacy CollectionsCollection InterfaceIterator InterfaceConcrete CollectionsList InterfaceArrayList ClassLinkedList ClassMap InterfaceOptional MethodsViewsUsing Generics

JAV400: Cursus Java EE Web ServicesCode: JAV400 Duur: 4 dagen Prijs: € 1950

Doelgroep Cursus Java EE Web Services Deze cursus is bedoeld voor ervaren Java ontwikkelaars die Web Services willen lerenontwikkelen in een Java EE omgeving.

Voorkennis Cursus Java EEVoor deelname aan deze cursus is kennis van en ervaring met programmeren in Java enmet Java EE Web Applications vereist.

Uitvoering Training Java EE Web ServicesDeze cursus heeft een hands-on karakter. De theorie wordt behandeld aan de hand vanpresentatie slides en wordt afgewisseld met praktische oefeningen. Demos wordengebruikt om de theorie te verduidelijken. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Java EE Web ServicesDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaEE Web Services.

Inhoud Cursus Java EEIn deze cursus leert u wat Web Services zijn, hoe u Web Services in Java kunt maken enhoe ze vanuit Java en andere platformen kunnen worden benaderd. De verschillendestandaarden waar Web Services op gebaseerd zijn worden behandeld, zoals XML Schema, SOAP en WSDL. In het bijzonder is er aandacht voor de verschillendeJava API’s voor Web Services zoals JAX-WS 2.x, SAAJ (SOAP with Attachment API) en JAXB (Java API for XML Binding). Verder wordt aandacht besteed aan waar jeop moet letten om ervoor te zorgen dat Web Services interoperabel zijn tussen verschillende platvormen zoals Java en .NET. En ten slotte komen de verschillendemechanismen en standaarden voor de security van Web Services aan bod. Deze cursus behandelt de onderwerpen die worden gevraagd op het Java EE WebServices examen (CX 310-230).

Module 1 : Web Services Intro Module 2 : SOAP Module 3 : SAAJ

What are Web Services?Distributed Applications EvolutionRole of interfaceRPC ExampleInteroperabilityWeb Service TypesWeb Services StackSOAP Web ServicesREST Web ServicesRPC Style Web ServicesDocument Style Web ServicesService Oriented Architecture

What is SOAP?SOAP CharacteristicsSOAP Design GoalsSOAP Protocol ConceptsSOAP MessagesSOAP BodySOAP HeadersSOAP NamespacesSOAP FaultsSOAP Version differencesSOAP Messages as payloadMessage Exchange PatternsSOAP Message PathSOAP Intermediariesactor and mustUnderstand attribute

What is SAAJ?SOAP message structureSOAP Message PartsSOAP PartAttachment PartsSAAJ and DOMSAAJ Class HierarchySAAJ programming API’sSAAJ ConnectionsCreating a MessageAdding Message ElementsSending and ReceivingAccessing SOAP Body

Module 4 : XML-Schema Module 5 : JAXB Module 6 : WSDL

Why XML-Schema?Well formed and valid documentsWhat XML-Schema’s?Markup LanguagesXML Schema AdvantagesXML Schema design modelsClassic Use of Schema’sXML NamespacesSimple and Complex typesXML Schema Data TypesUser Defined Data TypesDerivation by RestrictionDerivation by Extension

XML Processing OptionsWhat is JAXB?JAXB versus DOM and SAXJAXB Design GoalsBuilding JAXB ApplicationsJAXB ArchitectureJAXB Binding Life CycleRole of Binding CompilerXML tot Java Mapping RulesMapping of XML Schema TypesBinding Elements and AttributesNamed Complex TypesCustomized MappingsAdapter ClassesJAXB Annotations TypesJAXB API

What is WSDL?Where is WSDL used?Benefits of WSDLWSDL and Code GenerationWSDL in Web Service stackWSDL NamespacesWSDL StructureWSDL ElementsTypes and MessagesPortType and OperationsWSDL BindingsService ElementSOAP Messages ModesWSDL 2.0

Module 7 : JAX-WS Module 8 : Message Handlers Module 9 : Asynchronous Calling

What is JAX-WS?JAX-WS Design GoalsDifferences JAX-RPC- JAX-WSJAX-WS Runtime SystemJAX-WS Basic OperationJAX-WS Development ApproachesJAX-WS Tools

Message HandlersCharacteristicsJAX-WS Handler TypesSOAP Message HandlersLogical handlersCall ChainInbound Messages

Web Service InvocationsSupporting AsynchronyClient Side Fire and ForgetClient Side PollingClient Side CallbacksEnabling Asynchronous callsCallback Handler

Service Endpoint ModelsJAX-WS Servlet EndpointEnterprise Java Beans EndpointsJAX-WS ArchitectureClient Side Programming ModelsDynamic Proxy Invocation ModelDispatch Invocation Model

Outbound MessagesProcessing the PayloadHandler Chains

Calling AsynchronouslyAsynchronous Web ServicesAsynchronous Web Service Model

Module 10 : REST Services Module 11 : WS-I Module 12 : WS-Security

What is REST?REST Web ServicesSimple REST ExamplesREST Web Service PrinciplesID and LinksREST Services in JavaMultiple RepresentationsEmbedded Path ParametersCommon REST PatternsResources URI AccessJavaScript Object Notation (JSON)XML versus JSON

WS Interoperability OrganizationChallenges and DeliverablesProfilesBasic Profile 1.0 and 1.1WS-I Testing ToolsInteroperability TechnologiesWS-Reliable MessagingWSDL Reliable MessagingBootstrapping and ConfigurationMessage Transmission Optimization

Web Service SecuritySecurity at Transport levelSecurity at XML LevelXML EncryptionXML Digital SignatureXML Signature FormsXML Key ManagementXKMSWS-SecuritySecurity Enabled SOAP

Optional Module : JAXR

What is JAXR?Registry InteroperabilityWhat is UDDIBusiness Registration DataUDDI Data TypestModelUDDI CategorizationUDDI API

JAV450: Cursus Java EE OverviewCode: JAV450 Duur: 1 dag Prijs: € 499

Doelgroep Training Java EE Developers, designers, beheerders en architecten die een overzicht willen krijgen van demogelijkheden en de werking van het Java EE (Enterprise Edition) platform.

Voorkennis om deel te nemen aan de Cursus Java EEKennis van moderne software technologieën zoals C++, Java of .NET en Web applicatiesis wenselijk.

Uitvoering Training Java EEDe theorie wordt besproken aan de hand van presentatie slides. De concepten wordengeïllustreerd met demo’s en er is gelegenheid om te oefenen. De cursustijden zijn van9.30 tot 16.30.

Officieel Certificaat Java EE OverviewDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaEE Overview.

Inhoud Java EE opleidingDeze cursus geeft een overzicht van de Java EE standaard zoals die in applicatie serverszoals GlassFish, WebSphere en JBoss is geimplementeerd. De eisen die gesteld wordenaan Enterprise Applicaties zoals scalability, failover en distribution worden besproken en hoe aan deze eisen wordt voldaan door de Java EE platform. Aandachtwordt besteed aan de rol van de verschillende Java EE Application Components zoals Java Servlets, Java Server Pages en Enterprise Java Beans. In dit opzichtkomt ook het JSF Framework voor Java Web Applications aan de orde. Belangrijke Java EE services zoals JNDI (Java Naming en Directory Interface) en JTA (JavaTransaction API) maken eveneens deel uit van de leerstof. Verder worden de verschillende opties voor het benaderen van databases worden behandeld. Er wordtaandacht besteed aan zowel de op SQL gebaseerde Java Database Connectivity (JDBC) technologie als de meer recentere Persistence API voor het direct opslaanvan objecten. Verder passeren ook andere Java technologieën in het kader van Java EE, zoals Web Services op basis van SOAP en REST, de revu. Gedurende dedag zullen verschillende applicatie servers en Enterprise Java Bean containers die de Java EE standaard implementeren worden besproken. Als de tijd het toelaatwordt, JMX, Java Management Extensions, als een optionele module behandeld.

Module 1 : Java EE Intro Module 2 : Servlets, JSP and JSF Module 3 : Enterprise Java Beans (EJB)

Java EditionsEnterprise Application ChallengesJava EE StandardJava EE ServersWeb ComponentsEJB ComponentsJava EE and Web ServicesDeployment DescriptorsAnnotationsPackaging in EAR FilesJava EE DeploymentConfigurable ServicesJava EE API’sNew Java EE Features

What is a Servlet?Simple ServletWhat is a JSP?Simple JSPBenefits of JSPTranslation and Request TimeProblems with Servlets and JSPClassic MVC PatternModel 2 ArchitectureScopes in Web ApplicationsServletContext ScopeSession ScopeJava Web ApplicationsWeb Application StructureMVC FrameworksJava Server Faces

What are Enterprise Beans?Types of Enterprise BeansDistributed Object FoundationArchitecture of an EJBEnterprise Bean ClassEJB Object at workRemote InterfaceHome Object at WorkSession BeansStatefull and StatelessSession Bean PoolingMessage Driven BeansJNDI Naming ContextLocate resources with JNDIDependency Injection

Module 4 : Java EE Persistence Module 5 : Java EE Web Services Module 6 : Optional Module : JMX

Java EE PersistenceDirect File I/OSerializationJava Database ConnectivityJDBC Drivers and URL’sTransparant PersistenceObject Relational MappingPersistence APIEntity ClassesEntity ManagerPersistence ContextEntity Managers

What is a Web Service?Web Service StandardsWeb Service TypesXML-Schema, SOAP and WSDLJAX-WS Web ServicesServlet Based EndpointStateless Session Bean EndpointJAX-WS AnnotationsREST Web ServicesResource URI Access

What is JMX?JMX GoalWhere does JMX API fit?Managed BeansJMX ArchitectureJava SE 5.0 MBeansStandard MBeansImplementing MBeansNaming MBeansMBean ServerRegistering MBeans

JAV500: Cursus Advanced Java ProgrammerenCode: JAV500 Duur: 4 dagen Prijs: € 1950

Doelgroep Cursus Advanced Java Programmeren Ervaren Java developers die meer geavanceerde aspecten van Java willen leren.

Voorkennis Cursus Advanced JavaKennis van de syntax van de Java taal en fundamentele ervaring met programmeren inJava is vereist.

Uitvoering Training JavaDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Demo’s dienen ter verheldering van de theorie. De cursustijden zijn van 9.30tot 16.30.

Officieel Certificaat Advanced Java ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAdvanced Java Programmeren.

Inhoud Cursus Advanced Java ProgrammerenIn deze cursus Advanced Java Programmeren komen een reeks geavanceerde aspectenvan Java aan de orde. Zo wordt ingegaan op de verschillende manieren waarop Javaapplicaties via het netwerk kunnen communiceren. In het bijzonder wordt hierbij ingegaanop sockets en Remote Method Invocations (RMI). Verder komen de geavanceerde multithreading en synchronization mogelijkheden aan bod zoals die zijngeintroduceerd in het concurrency package sinds Java 5. Ook wordt aandacht besteed aan de JMX API voor het local en remote managen en monitoren van Javaapplicaties. Verder staat reflection, waarmee gecompileerde Java classes softwarematig kunnen worden geanalyseerd, op met programma en komen diverseaspecten het verbeteren van de Java performance aan bod. Vervolgens wordt database access met Java Database Connectivity (JDBC) behandeld en komt aan deorde hoe Java applicaties via het Java Native Interface (JNI) in C en C++ geschreven code kunnen aanroepen. Ook de new IO API passeert de revu en na eenbehandeling van diverse aspecten van memory management en logging staat tenslotte de interactie tussen Java en XML op het programma. Hierbij wordt zowelaandacht besteed aan de streaming API (Stax) waarbij de applicatie de controle heeft over de XML benadering als aan de statische Java API for XML Binding (JAXB)waarbij vooraf Java classes voor specifieke XML worden gegenereerd. Ook Web Services die sinds Java 6 mogelijk zijn in de Standard Edition worden besproken.Deze cursus is een goede voorbereiding op het Java 7 Programmer Exam Part II (1Z0-804). In combinatie met de cursus Java Programming Fundamentals is decursus Advanced Java Programmeren ook een goede voorbereding op het Java 7 of Java 8 Programmer Exam Part I (1Z0-803) of (1Z1-808).

Module 1 : Java Networking Module 2 : Concurrency Module 3 : Java Management Extensions

Java Networking IntroNetwork ProtocolsUsing URL ClassReading from an URLInetAddress ClassSocketsSocket CommunicationSocket TypesSocket PortsServerSocket ClassSocket ClassDatagram SocketsDatagramPacket ClassMulticast SocketsSocket Programming

Concurrency PackageConcurrency Package BenefitsContents Concurrency PackageTask Scheduling FrameworkExecutor InterfaceExecutorServiceExecutors ClassCallables and FuturesScheduledExecutorServiceSynchronizersSemaphoresCountdownLatchCyclicBarrierExchangerConcurrent CollectionsBlockingQueue InterfaceLock InterfaceAtomic Variables

What is JMX?JMX GoalJMX UsageManaged BeansMBean FlavorsJMX Architecture LevelsJMX ArchitectureMBeans Instrumenting JVMAccessing JMX AgentStandard MBeansNaming MBeansMBean ServerMBean Server InterfaceRegistering MBeansJMX NotificationsNotification ClassNotification Listeners

Module 4 : Reflection Module 5 : Performance Module 6 : Remote Method Invocation

What is Reflection?Reflection ClassesClass LoadingCreating ObjectsReflection Methods in ClassField ClassField Class UsageConstructor ClassConstructor Class UsageMethod ClassMethod Class UsageAccessibleObject ClassDynamic ProxiesInvocation Handler

Influences on PerformanceHistory of Java PerformanceJIT CompilationHotspot JVMGarbage CollectionBenchmarksMonitoring, Profiling, TuningString TypesBuffered and New I/OSynchronizationConcurrency PackagePrimitives versus WrappersCollectionsException HandlingSerializationNative methodsLazy LoadingObject Reuse

What is RMI?RMI CharacteristicsRMI ArchitectureRemote InterfaceStubs and SkeletonsRemote ObjectRemote Object RegistrationRMI ClientExporting ObjectsLocating Remote ObjectsRMI Control FlowSerializationParameter PassingDynamic Class LoadingActivation

Module 7 : Database Access with JDBC Module 8 : Memory Management Module 9 : Java Native Interface (JNI)

JDBC ArchitectureJDBC Drivers and URL’sDatabase ConnectionsExecuting StatementsQuerying DatabasesUpdate StatementsRetrieving ResultsHandling ErrorsPrepared StatementsDatabase MetadataTransactionsCommit and RollbackRowset InterfacesUsing RowsetProvider

JVM Internal ArchitectureJava Memory ManagementObject LifecycleStrong Object ReferencesInvisible and UnreachableCircular ReferencesGarbage CollectionGenerational GCHeap Space OrganizationGC AlgorithmsSerial CollectorParallel CollectorReference ObjectsSoft and Weak ReferencesPhantom ReferencesFinalization

Java Native InterfaceJava to CC to JavaJNI BoundaryHeader FilesRequired ParametersJava LanguageWriting Native MethodsDeclaring Native MethodsJNIEnv Interface PointerMapping TableAccessing Java StringsJNI FunctionsAccessing Arrays

Module 10 : Java Logging Module 11 : New IO Module 12 : Java API XML Binding (JAXB)

LoggingLogging in JavaJava Util LoggingLevels and Log MethodsLogging Configurationlog4j Characteristicslog4j ConfigurationLoggersLogger Output HierarchyInheriting Logging LevelsLogger NamesLog LevelsAppenders and LayoutsLog Analyzer Tools

What is NIO?Synchronous I/O ProcessingAsychronous I/O ProcessingWorking with BuffersIO ChannelsSelectable ChannelsSelectorsSelection KeysCharacter SetsUsing Path ClassDirectory TraversingPathMatcher classUsing WatchService

XML Processing OptionsWhat is JAXB?JAXB versus DOM and SAXJAXB Design GoalsBuilding JAXB ApplicationsJAXB ArchitectureJAXB Binding Life CycleRole of Binding CompilerXML tot Java Mapping RulesMapping of XML Schema TypesBinding Elements and AttributesNamed Complex TypesCustomized MappingsAdapter ClassesJAXB Annotations TypesJAXB API

Module 13 : StaX Module 14 : Web Services

Streaming API for XMLBuilding a Dom TreeSAX CallbacksPull versus Push ParsingAdvantages of Pull ParsingWhy StaX?Iterator APIXMLEventReaderXMLEventWriterCursor APIXMLStreamReaderXMLStreamWriterChoosing considerations

What is a Web Service?Web Service StackWhat is SOAP?What is WSDL?What is JAX-WSWeb Service Support on Java 7Service Programming ModelPublishing an EndpointClient Programming Model

JAV550: Cursus Java Performance ImprovementCode: JAV550 Duur: 2 dagen Prijs: € 950

Doelgroep Cursus Java Performance Improvement Ervaren Java developers die de performance van Java software willen verbeteren.

Voorkennis JavaKennis van en ervaring met programmeren in Java is vereist om deze cursus te volgen.

Uitvoering Training Java Performance ImprovementDe cursus heeft een hands-on karakter. De theorie wordt behandeld aan de hand vanpresentatie slides en wordt afgewisseld met praktische oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Certificering JavaDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaPerformance Improvement.

Inhoud Cursus Java Performance ImprovementIn de cursus Java Performance Improvement leren de deelnemers de performance vanJava applicaties te analyseren en te verbeteren. In de eerste plaats worden diverseaspecten van performance in het algemeen behandeld, zoals de ervaren performance enhet beslag op het geheugen en daarna van Java performance in het bijzonder, zoals dehotspot JVM en garbage collection. Vervolgens wordt aandacht besteed aan de verschillende benchmarks voor Java en de verschillende fasen van het performanceproces, zoals performance monitoring, profilering en tuning. Ook worden een aantal specifieke performance technieken die op Java code kunnen worden toegepastbesproken. De performance impact van de verschillende constructies in de Java taal en van de verschillende classes in de Java API worden ook besproken. Verderleren de deelnemers om te gaan met performance tools zoals een profiler om knelpunten te identificeren. In dit verband wordt aandacht besteed aan de profilingpunten, tijd metingen en het opsporen van memory leaks. Stress testing van Web Applications wordt eveneens besproken. Tot slot gaat speciale aandacht uit naarperformance problemen met JDBC en performance in een Java EE omgeving. Hierbij komen de configuratie van pools, caches en het gebruik van load balancing enclustering aan de orde.

Module 1 : Java Performance Intro Module 2 : Java API Performance Module 3 : Performance Profiling

What is Performance?Influences on PerformanceImportant Performance AspectsHistory of Java PerformanceJIT Compilation and JIT CompilerClient and Server Hotspot VMGarbage CollectionGarbage Collection AlgorithmsJava Performance MythsPerceived PerformanceBenchMarkingMonitoring and ProfilingPerformance TuningHeap TuningApplication Performance ProcessHeap Activity MonitoringCommon Performance ProblemsJava Performance Tips

Java API Performance PitfallsString HandlingBuffered I/ONew I/OSynchronizationConcurrency PackagePrimitives versus WrappersCollectionsArray CopyingException HandlingSerializationNative methodsLazy LoadingObject Reuse

ProfilingProfiling toolsNetbeans ProfilerSun Studio AnalyzerCPU profilingCPU Profiling ApproachProfiling a subsetProfiling PointsType of Profiling PointsMonitoring ThreadsLock contentionIdentifying problematic patternsStress Testing

Module 4 : Tuning Garbage Collection Module 5 : JDBC and Java EE Performance

GC and PerformanceJava Object BehaviorHeap Space OrganisationHeap Area CharacteristicsYoung Generation LayoutGC Performance MetricsUsed GC AlgorithmsPerformance ConsiderationsSerial collectorParallel collectorParallel compact collectorConcurrent Mark-Sweep (CMS)Ergonomics

JDBC OptimizationOptimization TechniquesJDBC connection poolingSingle Batch TransactionsSmart QueriesTuning Servlets and JSP’sHTTP Session TuningWeb Server TuningClusteringClustering TypesLoad BalancingSticky Sessions

JAV600: Cursus Java voor ManagersCode: JAV600 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Java voor Managers Managers van Java software teams, projectleiders van Java software projecten, juniorJava developers en andere geïnteresseerden die inzicht willen krijgen in Java software.

Voorkennis Cursus Java ManagersAlgemene basiskennis van computer systemen en software ontwikkeling is vereist.Ervaring met programmeren is een voordeel bij het volgen van deze cursus.

Uitvoering Training Java voor ManagersDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. De theorie wordt verduidelijkt met demos. De cursus heeft een hands-onkarakter. De cursustijden zijn van 9.30 tot 16.30.

Certificering Java voor ManagersDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Javavoor Managers.

Inhoud Cursus JavaIn de cursus Java voor Managers leren managers de basis principes van objectgeoriënteerd programmeren in Java en de werking en mogelijkheden van Javatechnologie. Aandacht wordt besteed aan zowel client als server technologie. De cursus is er steeds op gericht de principes duidelijk te krijgen, zonder in details tetreden. Zowel de syntax en control flow constructies van de Java taal worden besproken als object georiënteerde zaken, zoals classes, inheritance, interfaces enexceptions. Ook een bespreking van UML als modelleer taal voor software systemen staat op de agenda van de cursus. Wat betreft client technologie komen zowelRich Client Applications met GUI’s als applets en Java Web Start applicaties aan bod. Ten aanzien van de server technologie wordt de focus gelegd op JavaEnterprise applicaties die draaien op applicatie servers en Java EE technologieën zoals Servlets, JSP en EJB’s krijgen de aandacht. Ook staan de verschillendemanieren waarop Java applicaties gegevens kunnen opslaan op het programma. Zo wordt er aandacht besteed aan Direct File I/O, serialization, JDBC, Hibernate ende Persistence API. Tot slot komen diverse Java technologieën voor integratie met andere systemen aan de orde zoals RMI, JMS en Web Services. En ook aan deJava Micro Edition (Java ME) voor mobiele telefoons wordt aandacht besteed. De cursus behandelt de onderwerpen die gevraagd worden op het Java Associateexamen 1Z0-850.

Module 1 : Java Platform Module 2 : Java Language Module 3 : Object Orientation and UML

History of JavaJava OverviewJava EditionsJava PlatformJava Community ProcessJava LibrariesJava LanguageCompiling Java ProgramsRunning Java ProgramsCompiler and InterpreterApplication structureGarbage CollectionPackagesImport statement

Java CommentsVariablesTypes of VariablesPrimitive Data TypesBlock StatementsOperator PrecedenceFlow Controlif else Statementsswitch Statementfor and while Loopdo while Loopbreak and continueArraysEnhanced For LoopStringsFormatted Output

Programming ParadigmsProcedural ProgrammingObject Oriented ProgrammingObject Oriented ParadigmClasses and ObjectsExample Class and ObjectsAbstraction and ModularityEncapsulation and Data HidingInheritance and PolymorphismWhat is UML?UML DiagramsUse CasesSequence DiagramsClass RelationshipsGeneralizationsAssociationsAggregationsClass Diagrams

Module 4 : Java Classes and Interfaces Module 5 : Rich Client Applications Module 6 : Java Enterprise Applications

Java Class DefinitionAccess ModifiersConstructorsCreating ObjectsFields and MethodsOverloading and OverridingUsing Objectsthis keywordextends keywordAbstract ClassesInterfacesExceptionsPackaging in JARThreadsJava Beans

Java GUI’sAbstract Window ToolkitAWT StructureGUI Design with AWTAWT ContainersWindow ContainersAWT ControlsSwingAWT versus SwingSwing Component HierarchyLayout ManagersEvent Delegation ModelJava AppletsApplet ParametersJava Plug-InJava Web StartNetwork Launching Protocol

Java EEEnterprise ChallengesJava EE StandardJava EE ServersWeb ComponentsEJB ComponentsPersistent EntitiesJava EE and Web ServicesContainer ServicesJava EE DeploymentAnnotationsPackaging in EAR FilesDevelopment RolesJava EE API’s

Module 7 : Servlets and JSP’s Module 8 : Java Persistence Module 9 : Integration Technologies

What is a Servlet?Possible Servlet TasksHTTP ProtocolForm SubmissionsConcurrent AccessWhat is a JSP?JSP Translation TimeJSP Request TimeScopes in Web ApplicationsServletContext ScopeSession ScopeClassic MVC PatternModel 2 ArchitectureWeb Application Structure

Java PersistenceTraditional PersistenceTransparent PersistenceDirect File I/OSerializationJava Database ConnectivityJDBC ArchitectureProblems with JDBCHibernatePersistent ClassesMapping FilesPersistence APIEntitiesEntity Lifecycle

Remote Method InvocationRMI ArchitectureRemote Interface and ObjectStubs and SkeletonsRemote Object UseJava Message ServiceMessaging ModelsPoint to PointPublish and SubscribeJMS Programming ModelWeb ServicesSOAP and WSDLWSDL and Code GenerationJAX-WSSAAJ

Module 10 : Java Mobile Applications

Java ME Back to the RootsOrganization of Java MEConfigurations and ProfilesCLDC ConfigurationCDC ConfigurationProfilesJava ME Optional PackagesMIDP ProfileJWTI SpecificationMobile Information Device ProfileMIDletsMIDlet Life Cycle StatesMIDlet Life Cycle MethodsMIDlet Build Cycle

JAV650: Cursus Java voor Applicatie BeheerdersCode: JAV650 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Java voor Applicatie Beheerders

Applicatie beheerders die verantwoordelijk zijn voor het monitoren en beheren van Javaapplicaties en die problemen met Java applicaties moeten oplossen en anderegeinteresseerden.

Voorkennis Applicatie BeheerdersAlgemene basis kennis van computer systemen en software ontwikkeling is vereist omaan deze cursus te kunnen deelnemen. Ervaring met programmeren is bevorderlijk voorde begripsvorming.

Uitvoering Training Java voor Applicatie BeheerdersIn deze hands-on cursus wordt de theorie behandeld aan de hand van presentatie slidesen wordt deze afgewisseld met oefeningen. Demos zorgen voor een verduidelijking vande theorie. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Java voor Applicatie Beheerders.De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Javavoor Applicatie Beheerders.

Inhoud Cursus Java voor Applicatie BeheerdersIn de cursus Java voor Applicatie Beheerders worden de fundamenten van het Java SE en EE platform, de Java taal en de mogelijkheden voor het managen enmonitoren van Java software besproken. De deelnemers zullen vertrouwd raken met Java applicaties en hun data types, het object georiënteerde karakter van Java,de packaging van Java applicaties, de beginselen van garbage collection en het Java thread-model. Een belangrijke module van de cursus behandelt deverschillende logging mechanismen in Java software en de configuratie van de logging. Ook wordt aandacht besteed aan de principes van exception handling inJava en hoe stack traces geïnterpreteerd kunnen worden. De Java EE standaard wordt eveneens besproken en er wordt aandacht besteed aan Java EE WebComponents zoals servlets en JSP’s. Hierbij wordt ook de reference implementatie voor Web Components, de Tomcat server, behandeld. De deelnemers raken ookvertrouwd met Java Management Extensions (JMX) als standaard en API voor (remote) management en monitoring van Java applicaties. De principes van memorymanagement in Java en de verschillende opties om garbage collection te configureren worden ook besproken. Het laatste onderwerp van de cursus is deperformance monitoring en performance tuning van Java applicaties. Optionele modules over Java Database Connectivity (JDBC) en de Java Messaging Service(JMS) zijn beschikbaar en worden besproken als dit gewenst is.

Module 1 : Java Intro Module 2 : log4j Logging Module 3 : Stack Tracing

Java VersionsJava OverviewJava EditionsJava PlatformJava LibrariesTypes of Java ApplicationsCompiling and Running ProgramsCompiler and Interpreter OperationStandalone Application structureJava VariablesPrimitive Data TypesClasses and ObjectsInheritanceCasting ObjectsPackagesPackaging in JAR filesGarbage CollectionJava Thread ModelThread Characteristics

Logging in Javalog4j characteristicslog4j Basic Conceptsjava.util LoggingLogging APISimple LoggingLogging Configurationlog4j propertiesConfiguration OptionsXML ConfigurationLoggersLogger Output HierarchyInheriting Logging LevelsLogger NamesLog LevelsAppendersLayouts

Error ConditionsExceptions in JavaException HandlingSyntax Exception HandlingStack TracesGenerated Stack TracesFinally ClauseException informationPredefined ExceptionsMultiple catch clausesArrayIndexOutOfBoundsExceptionNullPointerExceptionsClassCastExceptionsNumberFormat ExceptionsCreating Exception ClassesThrowing ExceptionsChained ExceptionsAssertions

Module 4 : Java EE Module 5 : Java Management Extensions Module 6 : Memory Management

Java EE StandardJava EE ServersServletsJava Server PagesTranslation and Request TimeEJB ComponentsJava EE API’sApache TomcatTomcat DirectoriesConfiguration FilesTomcat ArchitectureTomcat’s webapp directoryWeb Application StructureDeployment DescriptorForm submissionsSession Scope

What is JMX?JMX GoalWhere is JMX usedManaged BeansMBean flavorsJMX ArchitectureJava SE 5.0 MbeansNaming MBeansMBean ServerRegistering MbeansManipulating MBeansNotificationsNotification Listener

JVM’s Internal ArchitectureJava Memory ManagementObject LifecycleStrong Object ReferencesInvisible and UnreachableCircular ReferencesGarbage CollectionGenerational GCHeap Space OrganizationGC AlgorithmsFinalization

Tomcat Logging

Module 7 : Java Performance Tuning Optional Appendix : JDBC Optional Appendix : JMS

Influences on PerformanceHistory of Java PerformanceJIT CompilationHotspot JVMGarbage CollectionMonitoring, Profiling, TuningString HandlingBuffered and New I/OSynchronizationCollectionsException HandlingSerializationLazy Loading

Java Database Connectivity (JDBC)JDBC Overall ArchitectureJDBC OperationClassNotFoundExceptionUsing Tomcat and JDBCConfiguring JNDI JDBC ResourcesContext.xml in META-INFJDBC in Web Applications

What is JMS?Message ConsumptionMessaging DomainsQueuesTopicsJMS TerminologyJMS Programming Model

JAV700: Cursus Java Data Access met HibernateCode: JAV700 Duur: 3 dagen Prijs: € 1600

Doelgroep Cursus Java Data Access Ervaren Java developers die Hibernate willen gebruiken voor het benaderen van data indatabases.

Voorkennis Java Data AccessErvaring met programmeren in Java en object oriëntatie is vereist. Kennis van databasesen SQL is bevorderlijk voor een goede begripsvorming.

Uitvoering Training Java Data AccessDe concepten worden behandeld aan de hand van presentatie slides. Demo’s wordengebruikt om de concepten te illustreren. De theorie wordt afgewisseld met oefeningen. Decursustijden zijn van 9.30 tot 16.30.

Certificering ava Data Access met HibernateDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaData Access met Hibernate.

Inhoud Cursus Java Data AccessDe cursus Java Data Access met Hibernate behandelt Object Relational Mapping metHibernate. Na een overzicht van de data access mogelijkheden in Java, waaronder JDBC,en de uitdagingen waar deze tegenaan lopen, worden de basis concepten en architectuur van het Hibernate Framework besproken. De rol van het Hibernateconfiguratie bestand wordt besproken en de mapping van Java classes op database tabellen komt aan de orde. Vervolgens wordt aandacht besteed aan de rol en destructuur van de XML mapping files en de rol van de verschillende properties en attributes in deze bestanden. De centrale positie van de Hibernate Session die wordtgecreëerd door de SessionFactory wordt besproken en er wordt aandacht besteed aan de verschillende states die Java objecten kunnen hebben ten opzichte van dedatabase zoals persistent, transient and detached. Verschillende key generation strategieën worden besproken en ook komen het mappen van association eninheritance relaties op de database aan bod. Vervolgens wordt aandacht besteed aan de mogelijkheden van de Hibernate Query taal, HQL, Hibernate criteria en hetgebruik van native SQL queries. Tenslotte worden ook Hibernate transacties besproken, wordt het gebruik van annotaties als alternatief voor XML mapping files aande orde gesteld en worden de verschillende vormen van Hibernate caching toegelicht.

Module 1 : Java Persistence Module 2 : Hibernate Basics Module 3 : Mapping Persistent Objects

Java PersistenceTraditional PersistenceTransparent PersistencePersistence TechnologiesDirect File I/OSerializationJava Database ConnectivityJDBC ArchitectureExecuting StatementsRetrieving ResultsJDBC DriversJDBC URL’sProblems with JDBC

What is Hibernate?Hibernate CharacteristicsHibernate ConfigurationHibernate Configuration FilePersistent classesMapping FilesHibernate ArchitectureHibernate Core ConceptsStoring ObjectsGenerated Table and SQLPrimary Key ColumnLifecycle StatesPersistence Lifecycle

POJO’s and JavaBeansequals and hashcodeBasic MappingsClass to Table MappingsProperty MappingIdentifiers and GeneratorsMultiple Table MappingsHibernate SessionFactoryHibernate SessionEntities and ValuesEntity LifecyclePersistent StateTransient StatePersistent Object UpdatesAutomatic Dirty CheckingDetached StateDeleting ObjectsMerging

Module 4 : Mapping Relationships Module 5 : Mapping Inheritance Module 6 : Queries with HQL and Criteria

Type of associationsMany-to-oneBidirectional Many-to-oneMapping to List, MapMapping to Bag and ArrayUsing ComparatorOne-to-oneBidirectional One-to-oneMany-to-manyBidirectional Many-to-manyMany-to-many Identifier BagValue Type CollectionsCollections of ComponentsSorting CollectionsCascading over associationsLazy versus Eager LoadingProxiesDetached Objects and ProxiesPolymorphic Associations

Inheritance Mapping StrategiesSingle Table per Class HierarchySingle Table Data ModelDiscriminator ColumnsAdvantages and DisadvantagesTable per Concrete Class StrategyTable per Concrete Class with unionsTable per Class Data ModelAdvantages and DisadvantagesJoined Subclass StrategyJoined Data ModelPolymorphismChoosing an Inheritance Strategy

Hibernate Fetching OptionsHibernate Query LanguageHQL ParametersNamed QueriesNative SQLCriteriaRestrictionsQuery By ExampleScrolling and PaginationQuery HintsQuery Option Pros/ConsN+1 SelectsJoin FetchingSubselect FetchingBatch FetchingQueries and Fetching StrategiesCartesian Product Problem

Module 7 : Transactions and Concurrency Module 8 : Hibernate Annotations Module 9 : Hibernate Configuration

Java Transaction APIJTA versus JDBC TransactionsTransaction ConfigurationHibernate Transaction APITransaction handling patternConcurrencyIsolation LevelsOptimistic LockingVersioningPessimistic LockingThreadLocal TransactionsConversationsSession LifetimeConcurrent Access

MetadataAnnotations Pros/ConsConfiguring Hibernate AnnotationsEntity and table annotationPrimary key annotationsColumn annotationsSpecialRelation annotationsJoin column annotationsComponentsInheritanceEJB3/JPA Annotations

Connection PoolsThe promise of CacheHibernate Caching ArchitectureFirst Level CacheSecond Level CacheCache ConcurrencyConfiguring Second Level CacheCache RegionsEviction

JAV750: Cursus Java Data Access met APICode: JAV750 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Java Data Access Ervaren Java developers die willen leren hoe je de Java Persistence API kunt gebruikenvoor database access vanuit Java.

Voorkennis Cursus Java Data Access met Persistence APIOm aan deze cursus te kunnen deelnemen is ervaring met programmeren in Java enobject oriëntatie vereist. Kennis van database structuren en SQL is bevorderlijk voor eengoede begripsvorming.

Uitvoering Training Cursus Java Data AccessDe concepten worden behandeld aan de hand van presentatie slides en demo’s. Detheorie wordt afgewisseld met oefeningen. Alle onderwerpen in de Java EE 6 PersistenceAPI Developer Certified Expert Exam (1Z0-898) worden besproken. De cursustijden zijnvan 9.30 tot 16.30.

Officieel Certificaat Java Data AccessDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaData Access met Persistence API.

Inhoud Cursus Java Data AccessIn de cursus Java Data Access met Persistence API staat Object Relational Mapping met de Java Persistence API 2.0 op de agenda. Na een overzicht van de dataaccess mogelijkheden in Java, waaronder JDBC, en de uitdagingen waarmee zij worden geconfronteerd, worden de basis concepten en architectuur van de JPAuitgelegd. De rol van de EntityManager en het persistence.xml configuratie bestand wordt besproken en er wordt aandacht besteed aan de verschillen tussen versie1.0 en 2.0 van de JPA specificatie. Vervolgens wordt het concept van de JPA Entity besproken en komt de lifecycle van de Entities en hoe Entity classes op databasetabellen worden gemapped aan de orde. Ook de verschillende states die Entities kunnen hebben ten opzichte van de database zoals new, persistent, detached andremoved worden besproken net als het concept van merging. Eveneens wordt het gebruik van annotaties en XML mapping files en de rol van de verschillendeproperties en attributen uitgelegd. De verschillende key generation strategieën worden besproken en er wordt ingegaan op het mappen van association eninheritance relaties tussen entities. Ook de mogelijkheden van de JPA Query taal, JPQL, komen aan de orde evenals het gebruik van JPA criteria en native SQLqueries. Vervolgens wordt de functie en de werking van Entity callbacks uitgelegd, die onmiddellijk vóór en na de uitvoering van een persistence operation wordenaangeroepen, en komt ook het alternatief van de Entity Listener classes aan bod. Onderdeel van de cursus zijn eveneens interceptors die worden gebruikt voorcrosscutting concerns als logging en security. Tot slot wordt aandacht besteed aan het gebruik van JPA in een Java EE applicatie, aan communicatie met EJB’s enaan de packaging van JPA entities. Tenslotte worden JPA transacties behandeld in zowel een desktop omgeving en als een Java EE omgeving.

Module 1 : Intro Java Persistence Module 2 : Java Persistence API Module 3 : Mapping Persistent Objects

Java PersistenceTraditional PersistenceTransparent PersistencePersistence TechnologiesDirect File I/OSerializationJava Database ConnectivityJDBC ArchitectureExecuting StatementsRetrieving ResultsJDBC DriversJDBC URL’sProblems with JDBC

Traditional PersistenceObject Relational MappingPersistence API and EJB’sEntity ClassesEntity ManagerPersistence ContextEntity IdentityEntity ManagersEntity LifecycleEntity RelationshipsPersisting ObjectsRemoving ObjectsMerging ObjectsManaging IdentityJPA 1.0 versus 2.0New Features JPA 2.0

Mapping AnnotationsTable AnnotationUniqueConstraint AnnotationColumn AnnotationId AnnotationIdClass AnnotationGeneratedValue AnnotationVersion AnnotationBasic AnnotationLob AnnotationTemporal AnnotationEnumerated AnnotationTransient Annotation

Module 4 : Mapping Relationships Module 5 : Mapping Inheritance Module 6 : JPA Query Language

Entity Relationship typesBidirectional OneToOneBidirectional ManyToOneBidirectional OneToManyBidirectional ManyToManyUnidirectional OneToOneUnidirectional ManyToOneUnidirectional OneToManyUnidirectional ManyToManyCascading persist

Inheritance Mapping StrategiesSingle Table per Class HierarchySingle Table Data ModelAdvantages and DisadvantagesTable per Concrete Class StrategyTable per Class Data ModelAdvantages and DisadvantagesJoined Subclass StrategyJoined Data ModelAdvantages and Disadvantages

Java Persistence QLProjectionsSubqueriesJoinsUpdateDeleteQueriesDynamic QueryStatic QueryCriteria APICriteriaQuery interfaceQuery Error DetectionCriteriaBuilderMetamodel in JPA 2

Module 7 : Entity Callbacks and Listeners Module 8 : Interceptors Module 9 : Java EE integration

Life Cycle Callback methods Interceptors Enterprise Java Beans

Entity ListenersLife Cycle Callback RulesSignature Life Cycle CallbacksSignature Entity Listeners@PrePersist and @PostPersist@PreRemove and @PostRemove@PreUpdate and @PostLoadMultiple Invocation CallbacksInvocation Order

Interceptor Classes@AroundInvokeExample InterceptorInterceptor LifecycleInterceptor TypesDefault InterceptorsExclude Interceptors

Sessions BeansStatefull and StatelessJNDI lookupsEJB injectionTransaction-Scoped Persistence ContextExtended Persistence ContextPersistence UnitPackaging in EAR filesDeployment Descriptors

Module 10 : Transactions

TransactionsDemarcating BoundariesContainer ManagedBean ManagedClient ManagedTransaction AttributesSessionSynchronizationBefore CompletionAfter Completion

JAV800: Cursus Java Development met SpringCode: JAV800 Duur: 4 dagen Prijs: € 1700

Doelgroep Cursus Java Development met Spring Ervaren Java developers die het Spring Framework willen gebruiken voor Java Desktop,Web of Enterprise applicaties.

Voorkennis Cursus Java DevelopmentErvaring met programmeren in Java en object oriëntatie is vereist om deel te kunnennemen aan deze cursus. Basis kennis van web applicaties en XML is bevorderlijk vooreen goede begripsvorming.

Uitvoering Training Java Development met SpringDe concepten worden behandeld aan de hand van presentatie slides en demo’s. Detheorie wordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Java Development met SpringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaDevelopment met Spring.

Inhoud Cursus Java Development met SpringDeze cursus behandelt de concepten, componenten en architectuur van het SpringFramework. Ruime aandacht wordt besteed aan het concept van Dependency Injection ofInversion of Control dat een centrale rol speelt het framework. Verschillende soorten van een dergelijke dependency injection zoals setter injection en constructorinjection worden besproken. De andere pijler van het framework, Aspect oriëntatie, komt ook aan de orde. De concepten van Aspect Orientation zoals Aspects,Joinpoints, Pointcuts, Advice en Weaving worden toegelicht. Vervolgens worden de verschillende opties om de gegevens van Spring Java applicaties in databasesop te slaan behandeld. Er wordt aandacht besteed aan het gebruik van JDBC met een JdbcTemplate, alsmede op het gebruik van Object Relational Mappingframeworks zoals Hibernate met een HibernateTemplate of JPA via annotaties. In dit verband worden Spring Transacties besproken. Web Applications met het SpringMVC Framework zijn ook onderdeel van het cursus programma evenals de creatie en het gebruik van Spring Rest Web Services. Hierbij wordt de rol van controllers,views, page parameters en command objects besproken. Tot slot wordt aandacht besteed aan Spring en Security en wordt het vereenvoudigd opzetten van eenSpring configuratie met Spring Boot besproken. De modules Spring met JMS en Spring met JMX zijn optioneel.

Module 1 : Spring Introduction Module 2 : Dependency Injection Module 3 : Application Configuration

What is Spring?Addressing LayersCharacteristicsFramework OverviewDependency InjectionInversion of ControlAspect Oriented ProgrammingPortable Service AbstractionsSpring Packages

Non-IoC or Dependency InjectionBenefits of Dependency InjectionConstructor Dependency InjectionSetter Dependency InjectionBean FactoryXmlBeanFactoryBean Configuration FileInjection Parameter TypesBean NamingAutowiring PropertiesApplication ContextMultiple configuration filesWorking with interceptorsExternalizing constant valuesBean scopes

Bean definition inheritanceInner beansp and util namespacesDependency injection of collectionsSpring Expression LanguageAutowiring and component scanningStereotype annotationsJava-based configurationMixing configuration stylesWhen to use XML, annotations, and Java configurationTesting Applications

Module 4 : Aspect Orientation Module 5 : Spring Persistence Module 6 : Spring JDBC

Aspect Oriented ProgrammingThe need for AOPCrosscutting ConcernsAspectJoinpointsPointcutsAdviseWeavingTargetIntroductionSpring AOPStatic AOPDynamic AOPProxiesProxyFactory

Spring and PersistenceJava PersistenceTraditional PersistenceTransparant PersistenceShared Persistence ConceptsDAO Design PatternBefore and after DAODAO Pattern JDBCIntegration with IoCDAO PortabilitySpring DAO ConceptsTransaction ManagementSpring ExceptionsException Translation

Spring and JDBCJDBC CharacteristicsJDBC ArchitectureExecuting StatementsJDBC Drivers and URL’sSpring JDBC Data AccessDAO with JdbcTemplateData Source InjectionQuerying using JdbcTemplateRowMapperQuerying and Populating ObjectsUpdating with JdbcTemplateResultsetExtractorCallbacksSimpleJdbcTemplateNamedParameterJdbcTemplateJdbcDaoSupport

Module 7 : Spring ORM Module 8 : Transactions Module 9 : Spring MVC

Spring and HibernateHibernate IntegrationMapping Classes

Transaction ManagersDeclaring Transaction ManagersProgrammatic Transactions

What Spring MVC?Request life-cycleDispatcherServlet

HibernateTemplateImplementation HibernateTemplateHibernateTemplate executeHibernate DAO ImplementationHibernate AnnotationsSpring and JPALocalEntityManagerFactoryBeanUsing JPA APIPersistence Unit ConfigurationLocalContainerEntityManagerFactoryBeanPersistence ConfigurationPersistenceExceptionTranslationProcessorContainer Managed TransactionsExternalizing Database PropertiesEntity Manager from JNDIJpaTemplate and JpaDaoSupportJPA Java Configuration

Transaction Callback API@Transactional annotationDeclarative TransactionsIsolation LevelsRead-Only HintTimeoutsDeclaring a Transaction ManagerConfiguring transaction propagationTransactions and integration testing

URL Handler mappingMatching URLsMatching MethodsMatching Content TypesPath VariablesRequest ParametersHeaders and CookiesInjectable Method ParametersForm SubmissionsCommand Objects vs. Entities@RequestBody@ResponseBodyProducing ResponsesResponseEntitySpring MVC Validation

Module 10 : Spring REST Module 11 : Spring and Security Module 12 : Spring BOOT

REST Web Services@RestControllerHttpEntity and ResponseEntityDefault Content TypesDefault Status Codes@ResponseStatus and HttpStatusWorking with XMLWorking with JSONMultiple RepresentationsFiltering with @JsonViewREST ClientsRestTemplateSending HTTP RequestsTranslating EntitiesReading ResponsesError Handlers

Spring Security ModelProcess Behind Security InterceptorsAuthentication ManagerConfiguring authenticationIntercepting URLsSecurity tag library for JSPsSecurity at the method levelCustomizing the Security filter chainAccess Decision ManagerSecurity Based on RolesSecurity Based on IdentityRun-as ManagerCustom Login PagesAfter Invocation ManagerXSD ExtensionsUsing Annotations

Convention over ConfigurationNO XMLSpring Boot CLIBuilding and Deploying an ApplicationUsing TemplatesGathering MetricsUsing Java With start.spring.ioSpring Boot StartersBuilding as a Runnable JARData Access with Spring DataProperty SupportSecuring an ApplicationAuthentication and Authorization

Module 13 : Optional : Spring JMS Module 14 : Optional : Spring JMX

What is JMS?Messaging CharacteristicsJMS APIMessaging ModelsJMS Architectural ComponentsJMS Message InterfacsConfiguring JMS resources with SpringUsing the JmsTemplateMessage listener containers

What is JMX?JMX APIManaged BeansMBean flavorsJMX ArchitectureNaming MBeansMBean ServerRegistering MbeansManipulating MBeansExport MBeans automatically

JAV805: Cursus Java EE Portlet ProgrammerenCode: JAV805 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Java EE Portals en Portlet Programmeren Deze cursus is bedoeld voor ervaren Java developers en architecten die Java portalswillen ontwikkelen.

Voorkennis JavaOm aan deze cursus te kunnen deelnemen is kennis en ervaring met programmeren inJava en Java Web applicaties vereist.

Uitvoering Training hands-onDe cursus heeft een hands-on karakter. De theorie wordt besproken aan de hand vanpresentatie slides en wordt afgewisseld met praktische oefeningen. Demos zorgen vooreen verheldering van de behandelde concepten. De cursustijden zijn van 9.30 tot 16.30.

Officieel CertificaatDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaEE Portals en Portlet Programmeren.

Inhoud Cursus Java EE Portals en PortletIn de cursus Java EE Portals en Portlet Programmeren leer je wat portlets zijn en hoe zekunnen worden opgenomen in een portal container. De relatie tussen servlets en portletswordt besproken en de deelnemers leren hoe ze portlets kunnen schrijven, testen en installeren in een portal. Bijzondere aandacht wordt besteed aan de standaardJava portlets die zijn geschreven door volgens de JSR-168 standaard en de JSR-268 standaard. Er wordt ingegaan op de verschillende modes waarin portlets zichkunnen bevinden, op het personaliseren van portlets en op de interactie van portlets met de portal. Ook komen wat geavanceerdere onderwerpen zoals secureportlets, de implementatie van caching, het vasthouden van sessie data en het schrijven van portlets die zich aanpassen aan de ingestelde Locale aan de orde.

Module 1 : Portals and Portlet Intro Module 2 : Servlets and JSP Review Module 3 : Portlets Basics

What are Portals?Jetspeed Example PortalWhat is a Portlet?Portlet ContainerExample PortalsElements of a Portal PagePortal Applications and WebAppsPortlets versus ServletsDifferences Portlets and ServletsPortlet File StructurePortlet Portal InteractionPortlet Standards

What is a servlet?HTTP ProtocolHTTP RequestHTTP ResponseForm submissionsConcurrent AccessWhat is a JSP?JSP Translation TimeJSP Request TimeScopes in Web ApplicationsServletContext ScopeSession ScopeRequest ScopeRequest DispatchingWeb Application Structure

Generic Portlet Base ClassGeneric Portlet SubclassesPortlet InterfacePortletConfig InterfacePortlet LifecycleSimple Example PortletDeployment DescriptorPortlet ModesPortlet Window StatesPortlet Request ProcessingAction Request and ResponseRender Request and ResponseLifcycle ImplicationsPortlet URL’s

Module 4 : JSR168 Portlets Module 5 : WSRP Portlets Module 6 : Ajax Review

JSR 168 Portlet StandardJSR 168 SubjectsCustom Portlet ModesCustom Portlet Window StatesPortletContext interfacePortalContext interfacePortlet DataPortlet SessionsPortlet PreferencesRender ParametersUser AttributesExample User AttributesPortletRequesDispatcherPortlet Tag Library

What is WSRP?What is a PortletWSRP Consumer and ProducerWSRP BenefitsWSRP Interfaces and OperationsService Description InterfaceMarkup InterfaceRegistration InterfacePortlet Management InterfacePortlet Life CycleCloning and Setting PropertiesWSRP SupportExample Application

Classic Web Application ModelAjax Web Application ModelClassic Synchronous App. ModelAjax Asynchronous App. ModelHow Ajax WorksCreating the XMLHttpRequestObject MethodsSending the RequestObject PropertiesXMLHttpRequest readyStateListening for ResponseProcessing the ResponseSequence diagram

Module 7 : JSR286 Portlets

EventsShared Render ParametersResource ServingAjaxPortlet FiltersCaching changesWindow IDNamespacingRequest Dispatcher availabilityPortlet Taglib additions

Additional CSS classesCoordinationCookies and Headers

JAV808: Cursus Java EE TechnologiesCode: JAV808 Duur: 5 dagen Prijs: € 2150

Doelgroep Cursus Java EE Technologies en Architecture Systeem architecten en developers die de juiste keuzes willen maken bij het gebruik vanJava technologie voor hun omgeving en applicatie beheerders die verschillende Javatechnologieën beter willen begrijpen.

Voorkennis Java PlatformAlgemene basis kennis van software architectuur en kennis van het Java Platform isvereist om aan deze cursus te kunnen deelnemen.

Uitvoering Training Java EE Technologies en ArchitectureDeze cursus heeft een praktisch karakter, maar is geen programmeer cursus. Het gaat omhet begrip van de werking van de technologie. De theorie wordt afgewisseld met kortecase studies. Er wordt gebruik gemaakt van moderne IDE’s, zoals Eclipse en NetBeans envan de JBoss Application Server. De cursustijden zijn van 9.30 tot 16.30.

Officieel CertificaatDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaEE Technologies and Architecture.

Inhoud Cursus Java EE Technologies en ArchitectureDe cursus Java EE Technologies en Architecture is bedoeld voor systeem architecten die betrokken zijn bij de inzet van Java EE technologie. De deelnemers lerenhoe ze de juiste keuzes kunnen maken tussen concurrerende opties. Java applicatie managers, project managers en Java developers komen vaak veelverschillende Java termen en afkortingen tegen en hebben moeite deze de juiste plek te geven. De cursus biedt een overzicht en vergelijking van verschillendemoderne Java EE technologieën en brengt de kennis van de deelnemers op een hoger niveau. Na een overzicht van het Java EE platform, worden de belangrijkstecomponenten, Servlets en JSP’s, behandeld en ook het JSF Framework als MVC layer over de basis van Servlets en JSP’s wordt besproken. Ook het gebruik vanAjax in Java Web Applications en diverse frameworks, zoals DWR en GWT die Ajax gebruiken, passeren de revu. Eveneens worden verschillende Java connectivitytechnologieën en hun voor-en nadelen besproken, zoals de Java Connector Architecture, RMI en CORBA. Verder is er aandacht voor Rich Client Technologies zoalsapplets en Java Web Start, en het gebruik van scripting in Java en Java FX technologie. De andere belangrijke component van het Java EE platform, EnterpriseBeans of EJB’s, worden besproken en de mogelijkheden voor persistentie in Java (JDBC en Persistence API) worden behandeld. De module Java XMLTechnologies gaat vervolgens in op de mapping tussen Java en XML files en de Web Services module geeft een overzicht van de Java XML Web Servicetechnologie. Tenslotte worden de Java Messaging Service (JMS) en Java EE Design Patterns besproken en komt security in het Java EE platform met policies,certificates, authentication, authorisation en JAAS aan de orde. Er zijn ook een aantal optionele modules over Spring, Struts, Hibernate en JMX. Deze wordendesgevraagd in overleg met de deelnemers aan de orde gesteld. De cursus behandelt de stof die gevraagd wordt in de verschillende stappen van het Java EEArchitect exam.

Module 1 : Java EE Architecture Module 2 : Servlets and JSP’s Module 3 : Java Server Faces

Java EditionsEnterprise ChallengesJava EE StandardJava EE ServersWeb ComponentsEJB ComponentsPersistent EntitiesStandard Java BeansLayered ArchitectureContainer ServicesJava EE Web ServicesDeployment DescriptorsAnnotationsPackaging in EAR FilesIntegration API’s

What is a Servlet?Possible Servlet TasksServlet InitializationHTTP ProtocolForm SubmissionConcurrent AccessWhat is a JSP?Translation and Request TimeScopes in Web ApplicationsServletContext ScopeSession and Request ScopeWeb Application StructureServlet and JSP ProblemsClassic MVC PatternTypical MVC Framework

JSF BackgroundJSF Feature OverviewJSF FrameworkRequest Processing PhasesServer Side UI ComponentsJSF ImplementationJSF Component LibrariesDeployment DescriptorFaces Configuration FileFacelets Page StructureManaged BeansExpression LanguageFacelet Default NavigationEvent HandlingValidators and Convertors

Module 4 : Ajax Fundamentals Module 5 : Ajax Frameworks Module 6 : Connectivity Technologies

What is Ajax?Classic Web Application ModelAjax Web Application ModelAjax Usage in the Real WorldTypical Ajax InteractionsDrawbacks of AjaxHow Ajax worksCreating XMLHttpRequestXMLHttpRequest MethodsXMLHttpRequest Object PropertiesSending the RequestXMLHttpRequest readyStateDynamic HTML and HTML DOMRead responseText

Direct Web RemotingDWR PartsDWR ArchitectureDWR ConfigurationDWR Creators and ConvertersJSON Data TransportWhat is Google Web Toolkit?Java to Javascript compilerGWT Development ModeGWT Production ModeGWT ArchitectureGWT UI class libraryDeferred BindingGWT RPC Mechanism

Java EE Connector ArchitectureResource AdaptersCCI ClassesCommon Client InterfaceWhat is RMI?RMI ArchitectureRemote InterfaceDynamic ProxiesExporting ObjectsMarshalling and SerializationRMI RegistryParameter PassingWhat is CORBA?CORBA ArchitectureCORBA IDL

Module 7 : Rich Client Technologies Module 8 : Java Scripting Module 9 : Enterprise Java

What are Applets?Applet ParametersApplet LifecycleJava Plug-InSecurity RestrictionsConnecting to HostJava Web StartJava Web Start OperationUsing Java Web StartLaunch from Cache ViewerJava Network Launching ProtocolJNLP File structureDevelopment and DeploymentLaunch SequenceSecurity Restrictions

Scripting LanguagesScripting in Java 6Why combine Scripting and Java?Scripting ScenariosScripting FrameworkScripting APIBindings interfaceScripting VariablesWhat is Java FX?JavaFX 2.0 ArchitectureJava FX Scene GraphData Binding in Java FXIntegrating Multimedia

EJB FeaturesDistributed ObjectsSession BeansStatefull and StatelessArchitecture of an EJBEJB Object at WorkClient AccessRemote versus Local ClientsWeb Service ClientsEJB 3.x Programming ModelLife Cycle Session BeansSession Bean PoolsActivation and PassivationMessage Driven beansLife Cycle MDB Beans

Module 10 : Persistence Technologies Module 11 : Java XML Technologies Module 12 : Web Service Technologies

Java PersistenceDirect File I/OSerializationJDBC Overall ArchitectureJDBC Drivers and URL’sObject Relational MappingPersistence API in EJB 3.xEntity ClassesEntity ManagerPersistence ContextPersistence UnitEntity LifecycleRemoving ObjectsMerging ObjectsManaging Identity

XML Processing OptionsBuilding a DOM TreeSAX CallbacksWhat is JAXB?JAXB versus DOM and SAXJAXB ArchitectureJAXB Binding Life CycleJAXB APIStreaming API for XMLPull versus Push ParsingAdvantages of Pull ParsingWhy StaX?Iterator APICursor APIParsing API Comparison

What is a Web Service?Role of the interfaceWeb Service StackRPC versus Document StyleXML-Schema, SOAP and WSDLWhat is JAX-WS?Service Side Programming ModelClient Side Programming ModelWhat is REST?RESTFull Web ServicesID and LinksMultiple RepresentationsStateless CommunicationsSimple Root ResourceContainer Item PatternMap, Key, Value Pattern

Module 13 : Java Messaging Service Module 14 : Java EE Design Patterns Module 15 : Java Security

What is JMS?Messaging CharacteristicsJMS APIMessaging ModelsPublish and SubscribePoint tot PointJMS Architectural ComponentsJMS Message InterfaceMessage Header FieldsMessage TypesCreating and Receiving MessagesMessage Driven BeansMessageListenersonMessage method

Intercepting FilterServlet FiltersFront ControllerApplication ControllerView HelperComposite ViewSession FaÇadeData Access ObjectService to WorkerBusiness DelegateDelegate Adapter and ProxyService LocatorTransfer ObjectValue List Handler

Java SecurityJDK 1.1 Security ModelJava 2 Security ArchitectureBasic Security ElementsMajor Security ConcernsAuthenticationAuthorizationJAASDeclarative securityProgrammatic securityForm Based AuthenticationBasic and Digest AuthenticationSecure Sockets LayerAsymmetric EncryptionSymmetric EncryptionHash EncryptionDigital Certificates

Optional Module : JMX Optional Module : Spring Optional Module : Hibernate

JAV825: Cursus Wicket ProgrammerenCode: JAV825 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Wicket ProgrammerenDe cursus Wicket Programmeren richt zich op individuen die gebruik willen maken van hetWicket Framework en die een gedetailleerd inzicht in de relevante technologieën willenkrijgen.

Voorkennis programmeren in JavaProfessionele ervaring met programmeren in Java and kennis van Java Web applicaties isvereist.

Uitvoering TrainingDe stof wordt behandeld op basis van presentatie slides. Demos worden gebruikt om detheorie te verduidelijken. Tijdens de cursus is er ruime gelegenheid tot oefenen. Decursustijden zijn van 9.30 tot 16.30.

CertificeringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatWicket Programmeren.

Inhoud Wicket ProgrammerenDe cursus Wicket Programmeren richt zich op het ontwikkelen van applicaties met behulpvan het Wicket Framework. Aan de orde komen een overzicht van het Wicket Framework, Wicket componenten, het maken van model classes, inputs van degebruiker, data conversie en validatie. Ook wordt aandacht besteed aan het maken van herbruikbare web components en AJAX. De cursus is bedoeld voor ervarenJava developers die de Wicket architectuur willen begrijpen en gebruiken. Deelnemers die de cursus Wicket Programming doorlopen, zijn in staat om met het WicketFramework Java web applicaties te ontwikkelen. Ze kunnen tevens modellen, validators en componenten in Wicket maken.

Module 1 : Wicket Intro Module 2 : Core Concepts Module 3 : Components

What is Wicket?Component OrientationWicket FeaturesMore Wicket FeaturesWicket TimelineComponent HierarchyWicket in ArchitectureWicket ConfigurationHello Wicket ApplicationHello Wicket HTML PageGeneral Application StructureWicket Run ModesSetting Up WicketWicket Distribution and ModulesWicket Resources

Wicket ApplicationRequest and Response ClassesRequestCycleRequest ProcessingRequestCycle HooksStateful and Stateless PagesStateful PagesStateless PagesSession ClassComponentsWicket ModelsModels and POJO‘sLink ComponentWicket Component ExamplesPage Rendering ProcessBehaviors

Wicket ComponentsComponent HierarchyComponents and MarkupComponent ClassMarkupContainer classComponent LifecycleComponent Hook MethodsMethod OnBeforeRenderPanel ComponentBorder ComponentHTML Tags and AttributesRepeating ViewsList ViewsBehaviors

Module 4 : Models Module 5 : Forms Module 6 : Ajax and Rich Components

What are Models?Set and Get ModelUsing ModelsModel Factory MethodsModels and JavaBeansUsing PropertyModelCompoundPropertyModelUsing CompoundPropertyModelWicket FormsForms and ModelsSample Logging FormCompoundPropertyForm LoginDropDownChoice ModelModel ChainingDetachable ModelsLoadableDetachableModel

Wicket FormsForm ValidationDisplaying FeedbackBuilt-in ValidatorsFeedback MessagesCustom ValidatorsConvertersInput ConversionValidation with JSR303IFormSubmittingComponentComponents ButtonNested FormsComplex FormsStateless FormsCheckboxesListMultipleChoices

Ajax ExplainedClassic Web Application ModelAjax Asynchronous ModelWicket and AjaxAjaxLinkSetting MarkupIDBuilt-In Ajax ComponentsAjaxEditableLableAutoCompleteTextFieldModal WindowAjax BehaviorsUsing Ajax BehaviorsAjax Request AttributesIAjaxCallListenerAjax Call ListenersGlobal Listeners

Module 7 : jQuery Integration Module 8 : Trees and Wizards Module 9 : New Features

Using jQueryJQWicket jQuery LibraryWicket jQuery UICalendar ExampleFeatures to ImplementjQuery UIJQDatePicker.js

TreesTree ComponentsBuild NodesInstantiate TreeChecked NodesAutocheck FolderCheckModel

Wicket 6 MigrationRepeaters and DataForm ProcessingFeedback Storage RefactoringHeader Rendering StrategyIHeaderResponse ChangesAjax

Initialization CodeHeader Contribution CodeWhat is jQuery?jQuery Function ObjectjQuery SelectionBasic SelectorsReplacing Elements

OnUpdateWhat is a WizardWizard TypesTwo Panel WizardUpdatePanel

Decorator to ListenerWicket Decorator to ListenerList of Renamed ClassesNew Modules

JAV900: Cursus JavaFX ProgrammerenCode: JAV900 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus JavaFX Programmeren Java developers die Java FX willen leren voor het ontwerpen van desktop en mobile frontends.

Voorkennis Cursus JavaFXVoor deelname aan deze cursus kennis van Java development vereist. Ervaring met hetontwerpen van GUI interfaces is bevorderlijk voor een goede begripsvorming.

Uitvoering Training Cursus JavaFXDe stof wordt behandeld aan de hand van presentatie slides. Demos dienen terverduidelijking van de behandelde concepten. De theorie wordt afgewisseld metpraktische oefeningen. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Java FX ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat JavaFX Programmeren.

Inhoud Cursus JavaFXIn de cursus JavaFX Programmeren leren de deelnemers user interfaces te maken in eendeclaratieve stijl die mogelijk wordt gemaakt door de JavaFX builder classes. JavaFX inde Java wereld kan worden vergeleken met Adobe Flash en Silverlight voor de creatie van rich user interfaces voor internet en mobiele toepassingen. De cursus isbedoeld voor Java developers die de behoefte hebben om front-ends te creëren die AWT en Swing (voor desktop) of Java ME en JWT (voor mobile) vervangen.Aandacht wordt besteed aan patterns voor JavaFX developers en hoe properties aan het UI te binden en gesynchroniseerd te houden met het model. Deelnemersleren ook over JavaFX UI controls, charts, shapes, effects, transformaties en animaties om prachtige, responsive, user interfaces te creëren. Ook wordt aandachtbesteed aan de JavaFX layout classes om het user interface cross-platform te definiëren en de observable collection classes om veranderingen te detecteren en tebinden aan Java collecties. Tenslotte worden de JavaFX media classes om audio en video af te spelen behandeld en wordt de interactie met externe applicatieservices om een enterprise applicatie te maken met JavaFX behandeld.

Module 1 : JFX Intro Module 2 : Creating a GUI Module 3 : Properties and Bindings

Introducing JavaFXMinimum effort and maximum impactComparing Java and JavaFXComparing JavaFX with Adobe AIRGWT, and SilverlightDeployment and MorePackaging and DeploymentJavaFX in SwingInteroperability with SWTUse a Doclet

Startup WindowMain WindowMenu BarSelection and Message BarContent PanelLibrary PanelHierarchy PanelInspector PanelStyle Sheet SupportInternationalization Support

Understanding PropertiesDefining a PropertyUsing a ChangeListenerHigh-Level Binding APIUsing the Bindings ClassCombining Both ApproachesObservable, ObservableValueInvalidationListenerChangeListenerLow-Level Binding API

Module 4 : Java FX Module 5 : JavaFX UI Controls Module 6 : Collections and Concurrency

Application LogicArchitecture and FrameworkWork with the Scene GraphUse Properties and BindingWork with CollectionsConcurrency and ThreadsImplement Best Practices

Work with LayoutsAdd TextWork with UI ControlsBuild UI with FXMLHandle EventsCreate ChartsAdd HTML ContentSkin Applications with CSSDrag and Drop DataWork with CanvasUse Image OpsScene BuilderScene Builder OverviewGet Started with Scene BuilderScene Builder User Guide

Java Collections BasicsUsing a ListUsing a MapCollections ClassJavaFX CollectionsUsing an ObservableListUsing ObservableMapFXCollectionsChange Notifications

Module 7 : Creating Charts in JavaFX Module 8 : Using the Media Classes

Introduction to JavaFX ChartsPie ChartLine ChartArea ChartBubble ChartScatter ChartBar ChartStyling Charts with CSS

Effects, Animation, and MediaCreate Visual EffectsAdd 2D and 3D TransformationsAdd Transitions & AnimationIncorporate Media

JAV906: Cursus Web Development met GWTCode: JAV906 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Google Web Toolkit Java developers die dynamische web applicaties met de Google Web Toolkit (GWT)willen maken en het potentieel van dit framework willen verkennen.

Voorkennis Google Web ToolkitKennis en ervaring met ontwikkelen in Java en het ontwikkelen van Web applicaties.

Uitvoering Training Google Web ToolkitDe theorie wordt besproken aan de hand van presentatie slides. Demo’s worden gebruiktom de theorie te verduidelijken. Er is ruime gelegenheid tot oefenen. De cursustijden zijnvan 9.30 tot 16.30.

CertificeringGoogle Web ToolkitDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat WebDevelopment met Google Web Toolkit.

Inhoud Cursus Google Web ToolkitDeze cursus biedt een overzicht van de werking en mogelijkheden van de Google WebToolkit (GWT) en leert u hoe u Google Web Toolkit, GWT, kunt gebruiken om dynamischeweb applicaties te maken. Aan de orde komen de Google Web Toolkit architectuur, hetonderscheid tussen hosted en web modus, de JRE emulation library en het deployen van GWT applicaties. Uitgebreid aandacht wordt besteed aan de GWT GUIclass library met diverse GWT widgets, de event listener model en het gebruik van CSS. Ook besproken wordt hoe in Google Web Toolkit Ajax functionaliteit wordtgeimplementeerd door middel van Remote Procedure Calls (RPC’s) naar server objecten. Verder komt JavaScript Object Notation (JSON) als data format in decommunicatie tussen server en browser aan bod. En tenslotte staat het Java Script Native Interface (JSNI), de communicatie tussen Java en JavaScript, eninternationalisatie van GWT applicaties op het programma.

Module 1 : GWT Intro Module 2 : GWT Operation Module 3 : GWT UI

What is GWT?Ajax term explainedClassic Web Application ModelAjax Web Application ModelSynchronous versus AsynchronousAjax CharacteristicsAjax Hard on DevelopersDrawbacks of AjaxGWT SolutionJava Ajax DevelopmentWhat does GWT do?Why GWT?

GWT Application ComponentsMain GWT Project ConfigurationEntry Point ClassModule Configuration FileHTML Host PageGWT Project Configuration with RPCModes of Running GWT ApplicationsDevelopment Mode ArchitectureDevelopment Mode OptionsLaunching Development ModeBrowser in Development ModeGWT Production ModeCompiler OutputRunning on External ServerJava to Javascript compilerJRE Emulation libraryDeferred Binding

GWT UI Class LibraryGWT Widgets and PanelsGWT User Interface ClassesRoot PanelEvent HandlingText Box and ButtonRadioButtons and CheckBoxesText BoxesDatePicker WidgetMenuBar WidgetTree WidgetTabBar WidgetStackPanel WidgetFlexTable WidgetComposite WidgetsStyles and CSS

Module 4 : GWT Remoting Module 5 : JSNI Module 6 : GWT and JSON

What is GWT RPC?Overall RPC IdeaRPC Data TypesGWT SerializationCommunication with ServerGWT RPC MechanismGWT Plumbing DiagramService InterfaceCallback Version Service InterfaceService ServletService ImplementationCreate Service ProxyClient Side Callbacks

JavaScript Native Interface (JSNI)Where is JSNI usedUsages of JSNIJSNI ArgumentsJSNI Return TypesBasic JSNI SyntaxPassing ValuesFields and JSNIMethods and JSNIUsing Browser APIJavaScriptObjectOverlay Types

What is JSON?JavaScript Object NotationJSON Data StructuresJSON Object RepresentationJSON Array RepresentationWhy JSON over XML?JSON encoding/decodingJSON textJSON and Java TechnologySend and receive JSON dataBoth client and server sides

Module 7 : GWT Internationalization

Localization of applicationsGWT Property filesDeferred BindingSeperate JS filesString InternationalizationString InternationalizationLocal Model

GWT I18N libraryDateTime formattingNumber formatting

JAV950: Cursus Test Driven Development met JUnitCode: JAV950 Duur: 2 dagen Prijs: € 1100

Doelgroep Cursus Test Driven Development met JUnit Deze cursus is bedoeld voor ervaren Java developers die JUnit willen gebruiken voorTest Driven Development.

Voorkennis Test Driven DevelopmentOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met programmerenin Java vereist.

Uitvoering Training Test Driven Development met JUnitDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metpraktische oefeningen. Demos dienen ter verduidelijking van de behandelde concepten.De cursustijden zijn van 9.30 tot 16.30.

Certificering Test Driven Development met JUnitDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat TestDriven Development met JUnit.

Inhoud Cursus Test Driven DevelopmentDe cursus Test Driven Development met JUnit leert de deelnemers de beginselen van ende redenering achter Test Driven Development en de rol van unit testing daarin. Na eenoverzicht van de verschillende types van testen en het gebruik ervan, wordt uitgebreid aandacht besteed aan de werking van de JUnit library, de integratie van dezelibrary in Eclipse en het gebruik van assertions in Test Cases en Test Suites. Fixtures voor de formulering van de pre-en postcondities van Test Cases wordenbesproken evenals de automatisering van tests en het concept van continuous integration. Vervolgens komt de methodologie van Test Driven Development (TDD)aan de orde, worden de drie regels van TDD en de stappen in TDD uitgelegd en komen de voordelen en de beperkingen van TDD ter sprake. De deelnemers zullenTDD oefenen op zogenaamde code Kata’s, kleine programmeer problemen die zij oplossen met met behulp van TDD. Na een overzicht van het belang van hetschrijven van clean code, wordt het gebruik van stubs en mocks behandeld. Deze stubs en mocks worden in een test omgeving gebruikt als vervanging voor code dienog niet klaar is. In een productie omgeving komt echte code dan voor de stubs of mocks in de plaats. Hierbij wordt de Mockito library gebruikt als voorbeeld van eenmocking framework. Tot slot wordt aandacht besteed aan de database unit testen met behulp van DbUnit en het testen van web applicaties met behulp van HtmlUnit.

Module 1 : Unit Testing Module 2 : JUnit Module 3 : Test Driven Development

What is Unit Testing?Benefits of Unit TestingManual TestingAutomated TestingTime to TestUnit Test ExampleUnit Testing Best PractisesUsing SeamsTesting FrameworksOther Types of TestingContinuous IntegrationRegression TestingUsability TestingExploratory TestingAcceptance TestsConcurrency BugConcurrency Testing

What is JUnit?JUnit FeaturesJUnit IntegrationJUnit View in EclipseJUnit Test CodeJUnit ClassesJUnit Class DiagramTest CasesTestCase ClassTestResult ClassJUnitCoreAssert StatementsAssert ClassFixturesTest SuitesAnnotationsSpecial CasesTesting for Exceptions

What is Test Driven Development?Traditional Testing versus TDDThree Rules of TDDSteps in TDDTest CyclesBenefits of TDDLimitations of TDDTesting versus DesignTDD AdaptationBehavior Driven DevelopmentDesigning for TestingCode Kata’sExample KataDomain ModelKata Test and Implementation

Module 4 : Clean Code Module 5 : Stubs and Mocks Module 6 : Database Unit Testing

What is Clean Code?Clean Code PrinciplesTechnical DebtMeaningful NamingNaming GuidelinesWhat to AvoidFunctionsAbstraction LevelSwitch StatementsFunction ArgumentsAvoid Side EffectsCommand Query SeparationCommentsExpressing in CodeGood CommentsBad CommentsCode Smells

Using Test DoublesWhat are Stubs?Stub UsageMethod under TestStub HTTP ConnectionStubbing Web ServerUse Embedded Web ServerStubbing Server ResourcesUsing Jetty HandlersMock ObjectSimple Mock ExampleCollaborating ObjectsMock ImplementationTest using MockAnti PatternsUsing Mockito

Unit Testing Data AccessTypes of DB Unit TestingDatabase Integration Unit TestingDB UnitAdvantages of DBUnitDB Unit Life CycleCore ComponentsIDataSet ImplementationsConcrete Database OperationsPresetting Database DataExtract Data From DatabaseDBUnit FixtureSetup Tables and DatasetData Access Test CasesAbstract Class Fixture

Module 7 : Web Application Testing

Testing Web ApplicationsWhat is HTMLUnitHTMLUnit FeaturesSimple HTMLUnit TestImitating BrowsersHTML Form TestFinding Specific ElementsButton Click Test

JVS600: Cursus TypeScript ProgrammerenCode: JVS600 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus TypeScript Web Developers die TypeScript en de EcmaScript 6 standaard willen gebruiken bij hetontwikkelen van het front-end van moderne Web Applicaties.

Voorkennis Cursus TypeScript ProgrammerenErvaring met JavaScript en een goede kennis van JavaScript is vereist om aan dezecursus te kunnen deelnemen.

Uitvoering Training TypeScript ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Officieel Certificaat TypeScript ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatTypeScript Programmeren.

Inhoud Cursus TypeScriptIn de cursus TypeScript Programmeren leren de deelnemers de TypeScript taal toe tepassen in moderne Web Applicaties. TypeScript is een op JavaScript gebaseerde taalwaaraan extra kenmerken zijn toegevoegd. Met name biedt TypeScript strong typing in plaats van de oorspronkelijke weak typing in JavaScript. In TypeScript wordenfouten daarom al tijdens compilatie in plaats van tijdens run-time gedetecteerd. De cursus gaat van start met een overzicht van TypeScript en de features van denieuwe ECMA 6 JavaScript standaard. Vervolgens wordt ingegaan op de installatie, mogelijke ontwikkelomgevingen en het gebruik van de diverse types inTypeScript. Ook wordt aandacht besteed aan functions in TypeScript waarbij callbacks, closures en type guards worden besproken. Ook object georienteerdprogrammeren in TypeScript met classes, constructors, inheritance en interfaces is onderdeel van het cursus programma. Tenslotte wordt aandacht besteed aangenerics, het parametriseren van types en het gebruik van modules en namespaces in TypeScript. Na afloop van de cursus heeft u u goed inzicht in demogelijkheden van TypeScript dat onder andere wordt gebruikt in het JavaScript Framework AngularJS versie 2.

Module 1 : TypeScript Intro Module 2 : Working with Types Module 3 : Functions in TypeScript

What is TypeScript?Weak typing in JavaScriptStrong Typing in TypeScriptNew features EcmaScript 6Installing TypeScriptEncapsulationpublic accessorsprivate accessorsDebugging TypeScriptTypescript IDE’sVisual StudioWebstormBrackets

Using Built-in TypesNumbers and BooleansStringsObject, Any, VoidAdvanced TypeInferred typingDuck-typingArraysThe any typeExplicit castingEnumsSymbols

Anonymous functionsOptional parametersDefault parametersThe arguments variableFunction callbacksFunction signaturesCallbacks and scopeFunction overloadsJavaScript closuresUnion typesType guardsType aliasessync and await

Module 4 : Classes and Objects Module 5 : Generics Module 6 : Modules

Class constructorsClass functionsInterfacesInterface function definitionsClass modifiersConstructor modifiersProperty accessorsStatic functionsStatic propertiesInterface inheritanceClass inheritanceOverloading with superFactory PatternDecorators

Generic syntaxInstantiating generic classesUsing the type TConstraining the type of TGeneric interfacesGeneric Object CreationRuntime type checkingReflectionChecking an object for a functionInterface checking with generics

What are modulesModule keywordDeclaration fileGlobal variablesWorking with modulesNamespacesImporting modulesModule MergingClass namespacesNested namespacesTypeScript Definiton ManagerQuerying for packagesUsing wildcards

JVS700: Cursus NodeJS ProgrammerenCode: JVS700 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus NodeJS Web developers die willen leren hoe JavaScript en de NodeJS library gebruikt kunnenworden voor de server-side van Web Applicaties.

Voorkennis Cursus NodeJS ProgrammerenErvaring met JavaScript programmeren voor de Front-End van Web Applicaties en eengoede kennis van JavaScript is vereist om aan deze cursus te kunnen deelnemen.

Uitvoering Training NodeJS ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Officieel Certificaat NodeJS ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatNodeJS Programmeren.

Inhoud Cursus NodeJSIn deze cursus leren de deelnemers hoe de NodeJS JavaScript library gebruikt kanworden aan de server side van Web Applicaties. NodeJS is onstaan in 2009 en issindsdien uitgegroeid tot een krachtig asynchronous development framework voor de creatie van schaalbare web applicaties. De library Node.js, waarvan depopulariteit nog steeds toeneemt, is ook onderdeel van de MEAN stack (MongoDB, EcmaScript, Angular en Node) die is gericht op de snelle development van I/Ocentrische applicaties. De cursus gaat in de eerste plaats in op de architectuur van de Node.js library waarbij runtime modules als filesystem, events en processworden besproken. Ook wordt ingegaan op de NPM package manager waarmee community modules kunnen worden opgenomen. Vervolgens komt het asynchroneevent handling model van NodeJS aan de orde waarbij de promises and futures van EcmaScript 6 en 7 uitkomst bieden bij de afhandeling van callbacks. Ook aanbod komen het verwerken van streaming data en File I/O in NodeJS. Vervolgens wordt ingegaan op hoe in NodeJS vele concurrent client requests wordenafgehandeld en komt ook het Express.js Framework aan de orde met templating, routing en middleware services. In de module Database Access komen de integratiemogelijkheden in de backend met databases als MongoDB, MySQL en SQLite aan de orde. Tenslotte wordt aandacht besteed aan het opzetten van een Rest API enhet gebruik van AngularJS voor de Frontend.

Module 1 : Intro NodeJS Module 2 : Event Handling Module 3 : Streaming Data

What is Node.js?Evolution of JavaScriptNode.js ComponentsWhy Node.js?Node.js ApplicationsNode.js Programming ModelWhen not to use Node.js?Important Parts of Node.jsGlobal ObjectsNode.js SetupHello Node.jsHello Node ServerNode.js ConsoleNode.js Module SystemFinding ModulesNode Package ManagerInstalling Modules using NPMpackage.jsonAttributes package.jsonCreating a Module

Node’s Event LoopInterleaving EventsTimersSynchronous versus AsynchronousAsynchronous CodeBlocking versus Non BlockingUsing CallbacksSynchronous ModeCallback ExampleAsynchrony with CallbacksNode EventsCallback versus EventsEventEmitter ClassEvents ExampleEmitting OnceAsynchronous HandlingNesting too Much

What are StreamsStreams in Node.jsMethods and EventsReading from a StreamWriting to a StreamPiping the StreamsChaining the StreamsPiping Methods and EventsWhat are Buffers?Creating BuffersWriting to BuffersReading from BuffersBuffer OperationsCopy and Other Methods

Module 4 : File I/O Module 5 : Express Framework Module 6 : Rest Services

Interacting with File SystemAsync and SyncAsync OpenFile InformationWriting FilesReading FilesClosing FilesTruncating FilesDeleting FilesCreating DirectoriesReading DirectoriesRemoving DirectoriesGlobal ObjectsProcess ObjectActions and Streamsos Module

Node Web ServerNode Web ClientWhat is Express?Important ModulesHello ExpressRequest and ResponseRequest PropertiesRequest MethodsResponse PropertiesResponse MethodsBasic RoutingServing Static FilesGet MethodPost MethodFile UploadCookies Management

What is REST?REST Web ServicesSimple REST ExamplesREST Web Service PrinciplesID and LinksMultiple RepresenstationCommon REST PatternsResource URI Access PatternsJSONJSON versus XMLList Users APIAdd User APIPath ParametersDelete API

Module 7 : Database Access SQL Module 8 : Database Access NoSQL

MySQL ConnectionsMySQL QueriesCreate DatabaseCreate TablePrimary KeysAlter TableInsert IntoInsert MultipleGet Inserted IDSelect from TableFields ObjectSelect with FilterEscaping Query ValuesPlaceHolders

Create Database in MongoDBCreate CollectionInsert into CollectionInsert Multiple DocumentsId FieldFind OneFind AllFind SomeQueryFilter Regex

JVS800: Cursus Mean Stack ProgrammingCode: JVS800 Duur: dagen Prijs: €

DoelgroepAdministrators, developers en testers die shell scripts in een Linux/Unix omgeving willenleren schrijven en begrijpen.

VoorkennisAlgemene kennis van computers en operating systems is vereist. Ervaring metprogrammeren is bevorderlijk voor een goede begripsvorming.

UitvoeringDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

CertificaatDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat UnixShell Scripting.

InhoudIn deze hands-on cursus wordt het schrijven van shell scripts in een Linux/Unix omgevingbehandeld. Diverse shells zoals de Bourne, C, Korn en Bash shell komen aan de orde ener wordt ingegaan op de verschillen tussen deze shells. U leert scripts te schrijven en te combineren met script commands, special characters, io redirection en pipes.Ook leert u de input van users in scripts te verwerken met command line parameters, options en redirection. Eveneens wordt aandacht besteed aan control flow enhet lezen en schrijven van files. Het aanroepen en schrijven van functions, het doorgeven van parameters en het opvangen van return values staat eveneens op hetprogramma. Voorts komende sed batch-editor, waarmee het editen van een tekstfile automatisch afgehandeld kan worden, en de awk report-generator aan orde. Tenslotte wordt ingegaan opeen aantal advanced scripting onderwerpen.

Module 1 : Intro to Shell Scripting Module 2 : Basic scripting Module 3 : User Input

What are shell scripts?Simple scriptTypes of shellsGetting the shellBourne ShellC ShellKorn ShellBash shellBatch editor sedAwk report generator

Using Multiple CommandsCreating a Script FileDisplaying MessagesSpecial charactersScript commandsSymbol commandsCase sensitivityUsing VariablesArraysRedirecting Input and OutputPipesPerforming MathExiting the Script

Command line argumentsSpecial Parameter VariablesBeing ShiftyWorking with OptionsStandardizing OptionsGetting User InputUnderstanding Input and OutputRedirecting Output in ScriptsRedirecting Input in ScriptsCreating Your Own RedirectionSuppressing Command Output

Module 4 : Control Flow Module 5 : File I/O Module 6 : Functions

Selection statementsif-then-else StatementNesting if’sThe test CommandCompound Condition Testingcase CommandIteration statementsfor, while and untilLoop controlOutput processing

Working with filesCommunication ChannelsFile system NavigationFile and Directory ListingListing Open File DescriptorsFile HandlingDirectory HandlingViewing File ContentsFile RedirectionPiping Commands TogetherUsing Temporary FilesLogging MessagesFile Permissionssuid and sgid programs

Basic Script FunctionsReturning a ValueUsing Variables in FunctionsArray Variables and FunctionsFunction RecursionCreating a LibraryUsing Functions on the Command Line

Module 7 : Sed en Awk Module 8 : Advanced Scripting

Text manipulationThe sed Editor BasicsMultiline CommandsThe Hold SpaceNegating a CommandChanging the FlowPattern ReplacementUsing sed in ScriptsCreating sed Utilities

Monitoring Disk SpacePerforming BackupsManaging User AccountsMonitoring System StatisticsUsing curlAlternative shells

JVS880: Cursus Angular 2 DevelopmentCode: JVS880 Duur: 3 dagen Prijs: € 1650

Doelgroep Cursus Angular 2 Web Developers die de Angular 2.x library willen gebruiken bij het ontwikkelen vanmoderne single page Web Applicaties.

Voorkennis Cursus Angular 2 DevelopmentErvaring met JavaScript programmeren en een goede kennis van JavaScript is vereist omaan deze cursus te kunnen deelnemen.

Uitvoering Training Angular 2 DevelopmentDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Officieel Certificaat Angular 2 DevelopmentDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAngularJS 2 Development.

Inhoud Cursus Angular 2 DevelopmentIn de cursus Angular 2 Development leren de deelnemers deze library te gebruiken bij hetontwikkelen van moderne single page Web Applicaties. Angular 2 is een major upgradevan de AngularJS 1.x JavaScript Library, biedt betere performance en maakt gebruik van TypeScript en de nieuwe features van de ECMA 6 JavaScript standaard.. Inde cursus leren de deelnemers de architectuur en kenmerken van een Angular 2 applicatie. Aandacht wordt besteed aan de componenten waaruit een applicatie isopgebouwd zoals templates, annotations, views en services. Ook dependency injection komt daarbij aan de orde. Verder wordt ingegaan op de syntax vanTypeScript en de nieuwe JavaScript standaard ECMA 6. Ook wordt ingegaan op de betekenis van Angular CLI en het genereren van artifacten als componenten enservices en de functie van de dependency injector tree om applicaties uitbreidbaar en onderhoudbaar te houden. Verder wordt aandacht besteed aan de nieuwecomponent router voor basic routing, child routes en router lifecycle hooks. Ook Forms staan op het programma waarbij template-driven forms, model-driven forms envalidators worden besproken. Observables openen de deur naar reactive functional programmeren en hun functie wordt gedemonsteerd bij het doen van HTTPrequests met de nieuwe HTTP laag. Teslotte leren de deelnemers nieuwe herbruikbare user interface componenten te bouwen.

Module 1 : Intro Angular 2 Module 2 : TypeScript Module 3 : ECMA Script 6

What is Angular 2?Version differencesAngular 2 ConceptsDevelopment EnvironmentBootstrapping an appDisplaying dataUsing DirectivesTemplatesAnnotationsViewsControllersModules

What is TypeScript?Weak typing in JavaScriptStrong Typing in TypeScriptUsing Built-in TypesInferred typingExplicit castingClassesInterfacesDecoratorsGenericsSync and await

Block BindingsStringsFunctionsClosuresIteratorsArraysCollectionsPromisesReflection

Module 4 : Angular CLI Module 5 : Dependency Injection Module 6 : Routing

What is Angular CLI?Generate with CLIDirectives and servicesCompile, run with CLIDeploy your applications.Generating componentsGenerating servicesTranspiling TypeScriptBuilding and serving apps

What is dependency injection?Writing ImportsCreating servicesConfiguring providersDefining provider recipesThe injector treeInjecting using tokensOpaque tokensMulti Providers

Angular RoutesRouting ConfigurationRoute comparisonWith ng-viewWith UI RouterConfiguring routesLinking to routesGuardsChild routesSibling routesLazy loading routes

Module 7 : Forms Module 8 : HTTP and Observables Module 9 : Components

Template-driven formsModel-driven formsTracking Changes by CSSControlControlGroupFormBuilderValidationValidation StylingError messagesCustom validatorsAsynchronous validators

Performing HTTP requestsStarted with observablesConfiguring request headersObserver Design PatternUnderstanding ObserverObservableObservables versus PromisesCreating ObservablesCreating SubjectsEmitting eventsSubscribing to observablesObservable Operators

Component ArchitectureInputs and OutputsData flowSmart vs. Dumb componentsCommunicating via state serviceCustom event busReusable UI ComponentsDI for component communicationQuerying view childrenQuerying content childrenWorking with element referencesHost Bindings

Host Listener

JVS900: Cursus ReactJS ProgrammerenCode: JVS900 Duur: 2 dagen Prijs: € 1199

Doelgroep Cursus ReactJS Programmeren Developers die de JavaScript library ReactJS willen leren voor het bouwen van modernestate of the art web applicaties.

Voorkennis JavaScriptErvaring met programmeren in een moderne programmeertaal is vereist. Kennis enervaring met JavaScript is bevorderlijk voor een goede begripsvorming.

Uitvoering TrainingDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Officieel CertificaatDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatReactJS Programmeren.

Inhoud Cursus ReactJS ProgrammerenIn deze cursus leert u programmeren met de snel aan populariteit winnende open sourceJavaScript library ReactJS. React heeft een programmeer model waarin subcomponentenbovenliggende componenten niet beinvloeden bij een update, zodat de componenten goed gescheiden zijn in een single page application. Na een introductie overde voornaamste kenmerken van ReactJS zoals de Virtual DOM, JSX, component renderers en callback functions, komt aan de orde hoe u een eerste ReactJS appmaakt met de juiste combinatie van developer tooling zoals React, Webpack en Babel. ReactJS maakt gebruik van de functionele programmeer stijl waarvan debelangrijkste kenmerken in JavaScript op een rij worden gezet. Vervolgens wordt aandacht besteed aan React Views die een geneste component tree met HTMLcustom tags op het scherm zetten. Ook wordt in de cursus ook ingegaan op het bouwen van componenten met de JavaScript extensie JSX. En tenslotte komen ookForms en Validation en Routing in ReactJS Applicaties aan de orde. De cursus wordt afgesloten met een behandeling van het Redux Framework dat veelal incombinatie met ReactJS wordt gebruikt.

Module 1 : ReactJS Intro Module 2 : Components Module 3 : Composition and LifeCycle

What is ReactJS?ReactJS FeaturesReactJS is TrendingBenefits of ReactJSXVirtual DOMWhat is Webpack?Webpack Module BuilderWebpack FeaturesWebpack.configES6 FeaturesBabelBenefits of ReduxFirst React ScriptFirst React Component

React ComponentsJSX ComponentReactJS and JSXJSX versus JavaScriptDecompiling JSXCharacteristics of JSXSingle RootWrap in ParenthesisJSX XSS ProtectionProps CollectionProps in VariablespropTypesList of Props TypesDefault PropsStateRendering State

Composing ComponentsRefs and DOMComponents with BehaviorPass State UpdateAccessing Child ComponentsMounting and UnmountingComponents LifcycleLifecycle DetailsUpdating EventsDynamic TablesMixinsReadOnlyReadWrite

Module 4 : Forms and Validation Module 5 : ReactJS Routing Module 6 : Redux Framework

ReadonlyReadWriteForms in ReactControlled ComponentsTextarea TagSelect TagField Level ValidationForm Level Validation

Defining RoutesDefault RouteNot Found RouteNesting and ParamsMultiple ParamsRedirectsInclude External RoutesRunning the RouterUsing Universal RenderingAccess Router Methods

React with ReduxThree PrinciplesRedux FlowConnecting to ReactStoreActionsReducerData FlowUnidirectional

MOB100: Cursus Android FundamentalsCode: MOB100 Duur: 1 dag Prijs: € 499

Doelgroep Cursus Android Fundamentals Deze cursus is bedoeld voor developers, managers en anderen die een overzicht willenkrijgen van de mogelijkheden en werking van het Android platform.

Voorkennis AndroidOm aan deze cursus te kunnen deelnemen is kennis van de basis principes van hetprogrammeren in Java vereist.

Uitvoering Training Android FundamentalsDe theorie wordt behandeld aan de hand van presentatie slides. Demo’s zorgen voor eenverheldering van de behandelde concepten. De theorie wordt afgewisseld met praktischeoefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Android FundamentalsDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAndroid Fundamentals.

Inhoud Cursus Android FundamentalsIn de cursus Android Fundamentals leren de deelnemers de fundamenten van het Androidplatform en hoe daarvoor apps kunnen worden ontwikkeld. Aan de orde komt hoe eenontwikkel omgeving voor Android onder Eclipse kan worden geinstalleerd en ingericht. Hierbij wordt aandacht besteed aan de Android SDK, het Eclipse IDE pluginen device emulatoren. De functie en het gebruik van XML resource files wordt besproken evenals de implementatie van het user interface. Een belangrijk element inde cursus is de life cycle van processes of activities. En verder komt debuggen van Android apps, het benaderen van databases, het gebruik van threads en contentproviders aan de orde. Tenslotte leren de deelnemers om hun app te publiceren Google Play. Met de kennis opgedaan in deze cursus zijn de deelnemers in staatsimpele apps zelf te schrijven en begrijpen zij de architectuur en werking van het Android platform.

Module 1 : Android Intro Module 2 : Android Development Module 3 : Android GUI

The BasicsWhat is Android?Architecture ExplainedRole of JavaAndroid SDKEclipse IDE PluginDevice EmulatorProfiling ToolsHello World Application

Unit Testing and DebuggingCreating Unit TestsAndroid Development Tools (ADT)Using the EmulatorTraceViewAnalyzing the Heap

Android User InterfaceView HierarchyMenusFragmentsStyling WidgetsDefining StylesApplying Styles to the UIPlatform Styles and ThemesLayoutLayout ContainersWeight and GravityLayout TechniquesHandling EventsAdvanced WidgetsScrollViewViewPagerTabViewCustom Views

Module 4 : Android Persistence Module 5 : Android Threads Module 6 : Android Service

Storing and Retrieving DataInternal and External StoragePreferencesSQLite DatabaseContent ProvidersQuerying Content ProvidersModifying DataCreating a Content Provider

Asynchronous TasksMain UI ThreadUsing AsyncTaskLocation Services and MapsLocation ServicesMock Location DataGoogle Map Libraries

Accessing Remote ServicesHTTPDOM ParsingSAX ParsingJSON ParsingApplication FundamentalsAlarm ManagerBroadcast ReceiversServicesNotification Manager

Module 7 : Best Practices

Web Apps OverviewTargeting Screens from Web AppsWebViewDebugging Web AppsBest Practices for Web AppsCompatibilitySupporting multiple screensOptimizing for Other Android Versions

MOB200: Cursus Android ProgrammerenCode: MOB200 Duur: 3 dagen Prijs: € 1450

Doelgroep Cursus Android Programmeren Deze cursus is bestemd voor ervaren Java developers die willen leren hoe apps voorAndroid geprogrammeerd kunnen worden.

Voorkennis Android ProgrammerenOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met programmerenin Java vereist.

Uitvoering Training Android ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. Demo’s zorgen voor eenillustratieve toelichting op de behandelde concepten. De theorie wordt afgewisseld metoefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Android ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAndroid Programmeren.

Inhoud Cursus Android ProgrammerenIn deze cursus leren de deelnemers app development voor het Android operating system.Allereerst wordt een globaal overzicht van het Android platform gegeven en wordtbesproken wat het unieke karakter van Android is en hoe Android fundamenteel verschilt van andere platformen. Vervolgens komen de voornaamste bouwstenenvan Android apps aan de orde zoals bijvoorbeeld Activities en het User Interface. Ook Files en Preferences staan op het programma. Verder wordt in de loop van decursus door de deelnemers een app ontwikkeld die een mooie user interface heeft, die gebruik maakt van web services voor het benaderen van cloud-applicaties,met database voor het lokaal opslaan van gegevens. De app wordt daarbij beveiligd en werkt op elke form factor van smartphone tot tablet en tv. Gedurende decursus leren de deelnemers wanneer en hoe de belangrijkste bouwstenen van Android gebruikt kunnen worden bij de app ontwikkeling. De deelnemers komen inaanraking met de vele facetten van app development voor Android zoals activities, services, providers en receivers. Ook best practices, debuggen en testen van appskomt aan de orde. In de cursus wordt de nieuwste versie van het Android OS gebruikt met Eclipse als IDE en emulatoren voor devices.

Module 1 : Android Overview Module 2 : Main Building Blocks Module 3 : Activities and User Interface

History of AndroidAndroid StackAndroid ArchitectureDissecting Android appsBuilding blocksDebuggingTestingAndroid SecurityCreating your first projectThe manifest fileLayout resourceRunning your app on Emulator

ActivitiesActivity lifecycleIntentsServicesContent ProvidersBroadcast Receivers

Understand the Lifecycle CallbacksSpecify Your App’s Launcher ActivityCreate a New InstanceDestroy the ActivityPause Your ActivityResume Your ActivityStop Your ActivityStart/Restart Your ActivitySave Your Activity StateRestore Your Activity StateXML versus Java UIDips and spsViews and layoutsCommon UI componentsHandling user events

Module 4 : Preferences and Files Module 5 : Advanced UI Module 6 : Device Support

Get a Handle to a SharedPreferencesWrite to Shared PreferencesRead from Shared PreferencesChoose Internal or External StorageObtain Permissions for External StorageSave a File on Internal StorageSave a File on External StorageQuery Free SpaceDelete a File

Support LibrariesSelection componentsAdaptersComplex UI componentsBuilding UI for performanceMenus and DialogsGraphics and animations

Create Locale Directories and String FilesUse the String ResourcesCreate Different LayoutsCreate Different BitmapsSpecify Minimum and Target API LevelsCheck System Version at RuntimeUse Platform Styles and Themes

Module 7 : SQL Database Module 8 : Content Providers Module 9 : Multimedia in Android

Introducing SQLiteSQLiteOpenHelper and creating a databaseOpening and closing a databaseWorking with cursorsInserts, updates, and deletes

Content provider MIME typesSearching for contentAdding, changing, and removing contentWorking with content files

Multimedia Supported audio formatsSimple media playbackSupported video formatsSimple video playback

MOB400: Cursus iPhone ProgrammerenCode: MOB400 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus iPhone Programmeren Deze cursus is bestemd voor developers die willen leren programmeren voor de iPhoneen de iPad.

Voorkennis iPhone ProgrammerenOm aan deze cursus te kunnen deelnemen is het gewenst al enige kennis van Objective-C te hebben.

Uitvoering Training iPhone ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Demos zorgen voor een verduidelijking van de concepten. De cursustijdenzijn van 9.30 tot 16.30.

CertificeringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatIPhone Programmeren.

Inhoud iPhone ProgrammerenIn de cursus iPhone Programmeren leren de deelnemers Objective-C en het FoundationFramework te gebruiken om apps voor de iPhone en iPad te ontwikkelen. De cursusmaakt gebruik van de nieuwste versie van Objective-C. De deelnemers zullen ervaring opbouwen met Xcode en Interface Builder. De syntax van Objective-C zalworden behandeld en de deelnemers zullen leren hoe user input van iPhone en iPad kan worden opgevangen en worden verwerkt in de app. Verder zullen dedeelnemers leren hoe User Interfaces worden opgebouwd die gebruik maken iPhone en iPad controls zoals text fields, buttons en pickers. Ook komt aan de orde hoeapps gebruik kunnen maken van iPhone table views, navigation controllers en andere UI componenten. Tenslotte wordt aandacht besteed aan hoe je in een iPhoneof iPad app de state kunt bewaren en gebruikers gegevens kunt opslaan.

Module 1 : XCode Intro Module 2 : Objective C Module 3 : Interface Builder

What is XCodeUsing XcodeEditing XCodeBuild and debug iPhone appsManaging project resources

Objective-C programming languageVariablesData typesControl FlowError HandlingFoundation Framework

Overview of Interface BuilderGUI toolDesigning your iPhone app’s UIConnect the UI to your codeFile’s OwnerFirst Responder

Module 4 : Cocoa Touch Module 5 : Table Views Module 6 : Navigation

Cocoa Touch Design PatternsModel-View-ControllerOther design patternsiPhone’s UIKit framework

UITableViewUITableViewControllerImplementing data source methodsImplement delegate methodsPresent dataInteract with the user

iPhone’s navigation controllerTab bar controllerOther UIKit componentsiPad-specific controlspopovers

Module 7 : Touch Events Module 8 : Custom Drawing

Standard iPhone controlsStandard iPad UI controlsManaging custom componentsResponse to user input

Core GraphicsCore AnimationsCustomise iPhoneiPad UI componentsDisplaying imagesManipulating imagesRich animationGraphical elements

MOB500: Cursus Xamarin FundamentalsCode: MOB500 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Xamarin Deze cursus is bestemd voor developers die het Xamarin Framework willen gaangebruiken voor de creatie van cross-platform mobile apps voor iOS, Android en Windows.

Voorkennis XamarinOm aan deze cursus te kunnen deelnemen is kennis en ervaring met het programmeren inC# of Java vereist. Ervaring met Visual Studio en Mono voor Android is wenselijk.

Uitvoering Training Xamarin FundamentalsDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Illustratieve demo’s worden gebruikt voor de begrippen te verhelderen. Decursustijden zijn van 9.30 tot 16.30.

Certificering XamarinDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatXamarin Fundamentals.

Inhoud Cursus Xamarin FundamentalsIn deze cursus leren de deelnemers apps te maken met het Xamarin Framework. Met hetXamarin 2.0 Framework kunnen mobile apps gebouwd worden voor zowel iPad alsiPhone devices als ook voor Android en Windows devices. Hierbij wordt onder andere Visual Studio .NET als ontwikkelomgeving gebruikt en C# alsprogrammeertaal. Verder wordt ook gewerkt met Mono voor Android dat is uitgegroeid tot een prima ontwikkelplatform voor het maken van apps voor Android. Na eenintroductie waarin het opzetten van de Xamarin ontwikkelomgeving aan de orde komt, wordt ingegaan op de algemene kenmerken van cross platform developmentzoals het gebruik van portable class libraries. Vervolgens wordt aandacht besteed aan de creatie van de User Interfaces voor apps in zowel iOS als Android waarbijXamarin Forms een belangrijke rol spelen. Het werken met Activities in Android en View Controllers in iOS komt eveneens ter sprake. Dan wordt de focus gelegd ophoe je in Xamarin kunt omgaan met verschillende data formaten zoals XML en JSON, hoe je database functionaliteit kunt gebruiken en REST Web Services.Tenslotte is er ook aandacht voor het gebruik van location services en de camera. Gedurende de cursus worden iOS Apps en Android Apps gebouwd waarbijXamarin en Visual Studio worden gebruikt.

Module 1 : Xamarin Intro Module 2 : Cross Platform Development Module 3 : User Interfaces

Cross Platform DevelopmentXamarin backgroundXamarin toolsInstallationDevice emulatorsGenyMotion virtual Android devicesXCODE iPad/IPhone emulatorsMono, MonoTouch and Mono.AndroidVisual Studio Integration

Cross-platform developmentLocal storageApp navigation techniquesNative or HTMLXamarin.FormsVisual Studio SetupLinked files in Visual Studio.Shared ProjectsCompiler directivesPortable Class libraries

AXML markupAndroid coded UI approachiOS Interface BuilderiOS coded UIMonoTouch Dialog frameworkHTML WebView controlHTML UIWebView controlXamarin.Forms in detail

Module 4 : Activities and View Controllers Module 5 : Using REST Module 6 : Data Access

Android ActivitiesActivities lifecycleListActivityListAdapteriOS ControllersiOS ViewController lifecycleiOS NavigationController.UITableViewControllerUITableViewSourceIntroduction to RESTHTTP callJSON serialisation

Public REST API.Data contractsBuilding proxiesAsynchronous patternsAsync en awaitREST in AndroidREST in iOSXML accessJSON access

Using SQLite in AndroidUsing SQLite in iOSSQLite and ORMUsing external storageSynchronisation to cloud

Module 7 : Using Location

Securing dataAndroid Location manager.iOS location manager classes.Using maps op iOSUsing maps on AndroidTranslate location coordinatesTracking applicationsUsing the camera

MOB600: Cursus PhoneGap ProgrammerenCode: MOB600 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus PhoneGap Programmeren Deze cursus is bedoeld voor web developers, mobile developers en designers en projectmanagers in mobile projecten die willen leren hoe PhoneGap kan worden gebruikt voorcross-platform programmering.

Voorkennis PhoneGap ProgrammerenKennis en ervaring met HTML, CSS en JavaScript en het mobile ecosysteem is vereist omaan deze cursus te kunnen deelnemen.

Uitvoering Training PhoneGap ProgrammerenDe onderwerpen worden besproken aan de hand van presentatie slides. Demo’s helpenin de verdere verheldering van de concepten. De theorie wordt afgewisseld metoefeningen. Mobile devices worden geëmuleerd in de Eclipse IDE. De cursustijden zijnvan 9.30 tot 16.30.

Certificering PhoneGap ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatPhoneGap Programmeren.

Inhoud Cursus PhoneGap ProgrammerenIn de cursus PhoneGap Programmeren leren de deelnemers om met behulp van het open-source framework PhoneGap mobile apps te ontwikkelen die cross-platform zijn. Er wordt besproken hoe je met PhoneGap mobile apps kunt bouwen, waarbij code en andere assets worden hergebruikt en met inzet van vertrouwdeweb technologieën zoals HTML, CSS en JavaScript. Aandacht wordt besteed aan het inrichten van de ontwikkelomgeving, het compileren voor verschillendeplatforms en het runnen en debuggen van HTML en JavaScript. Ook wordt besproken hoe PhoneGap Build kan worden gebruikt om app-store-ready applicaties vooriOS, Android en Windows Phone te maken. Ook deployment en de installatie van de app op het device zoals een smartphone of tablet wordt behandeld. Verder wordtaandacht besteed aan de optimalisatie van JavaScript voor mobile devices, het gebruik van CSS transities, animaties en transformaties om native looking interfaceste verkrijgen en het gebruik van mobile JS libraries, zoals XUI en Dashcode om mobile apps sneller te bouwen. Tot slot wordt besproken hoe native API’s, inclusieflocation, camera, accelerometer, contacts en meer via JavaScript kunnen worden benaderd.

Module 1 : Cross Platform Development Module 2 : PhoneGap Essentials Module 3 : PhoneGap Build

What is Phonegap?Cross-platform developmentjQueryjQuery MobileAJAX and JSONLocal storageApp navigation techniquesIntroducing PhoneGapNative or HTML

PhoneGap WalkthroughApache CordovaAdobe PhoneGap Build AccountsPage ModelDeveloping in the BrowserWriting PhoneGap-Only CodeInitializationUsing PhoneGap APIsDetecting DevicesNavigationResponsive Design

What is PhoneGap BuildEclipse with Plug-InsRunning Android SimulatorsBuilding your first AppDeploying on an AndroidWhat is Required?Viewing Console with Android SDKWhat about Icenium?Optional Apple Mac setup in XCodeWhy not use PhoneGap Build?

Module 4 : Mobile Projects Module 5 : Developing for iOS Module 6 : Developing for Android

Mobile ProjectsCreating a new projectImporting a boiler-plate projectEnabling PhoneGap for existing projectsWhat are Signing Certificates?What is Provisioning?Obtaining and Using Signing Certificate Keys

Workflow of iOS DevelopmentApple Developer programGetting a Developer AccountPreparing the MacProvisioning a DeviceBuilding a Development IPABuilding a Distribution IPASubmitting to the AppStoreSignup for Google Play

Android Developer keysRegister Your AppSigning Your AppUpload to Google PlayKindle Android StoreRegistering with the StoreTesting Your AppUploading for CertificationWhy not PhoneGap Build?Building the Project

Module 7 : Developing for Windows Module 8 : Mobile Coding Techniques Module 9 : Miscellaneous Topics

Windows Phone 8 emulatorsWindows keysRipple Emulator in ChromeFree Microsoft tools for Windows 8Adding a Privacy PolicyWorking with WinJS CodePreparing for the StoreSubmitting to the Store

Mobile Coding TechniquesWriting Optimised JavascriptManaging memory on mobilesCSS optimisationsUser-Interface best practices

Accessing Native APIsWhen to go nativeGeolocationCameraAccelerometerContactsOther device-specific APIs

MOB700: Cursus Objective C ProgrammerenCode: MOB700 Duur: 3 dagen Prijs: € 1250

Doelgroep Cursus Objective C Deze cursus is bedoeld voor deelnemers die Objective C willen leren als voorbereidingop het ontwikkelen van iOS en OS X applicaties.

Voorkennis Cursus Objective COm aan deze cursus te kunnen deelnemen is geen voorkennis van programmerennoodzakelijk. Voorafgaande kennis van talen als Java of Visual Basic is bevorderlijk voorde begripsvorming.

Uitvoering Training Objective C ProgrammerenDe theorie wordt behandeld op basis van presentatie slides. Demos worden gebruikt omde theorie te verduidelijken. Er is ruime gelegenheid tot oefenen en theorie en exercisewisselen elkaar af. In de cursus wordt de XCode ontwikkelomgeving gebruikt. Decursustijden zijn van 9.30 tot 16.30.

Certificering Objective C ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatObjective C Programmeren.

Inhoud Cursus Objective CIn de cursus Objective C Fundamentals leren de deelnemers de basis van de Objective C programmeer taal voor iOS development. De cursus gaat niet in op dedevelopment van iOS app’s, maar is een voorbereidende cursus waarin de taal waarin iOS apps worden geschreven wordt behandeld. Allereerst wordt ingegaan opde XCode ontwikkelomgeving van Apple en hoe daarin projecten kunnen worden aangemaakt. Vervolgens komt de basis syntax van de programmeertaal ANSI Caan de orde met statements, variabelen, data types, declaraties, selecties met if en iteraties met for en while loops. Ook wordt aandacht besteed aan meergeavanceerde zaken in C zoals het gebruik van functies en parameter passing, user defined data types met structs en typedefs, het werken met pointers en hetadresseren en alloceren van geheugen. Vervolgens is er aandacht voor specifieke zaken van Objective C waarbij objects, classes, instance variables en methodsworden besproken evenals object communicatie middels messages, accessors en properties. Ook het Foundation framework dat voorziet in een set nuttige primitiveObjective C classes en dat functionaliteit biedt die niet in Objective C zelf zit, passeert de revu. Tenslotte staat het memory management model van Objective C op hetprogramma.

Module 1 : XCode Intro Module 2 : ANSI C language Module 3 : C constructs

Xcode IDEProject creationSetting preferencesUsing navigatorGroupsCode EditorJump barUtilities

VariablesData typesC libraryOperatorsSelectionsif and elseswitch and caseIterationsfor and while

ArraysMultiple dimensionsFunctionsScope of variablesParameter passingCall by valueStructsTypedefsEnumsPointers

Module 4 : Objective C Module 5 : Foundation Framework Module 6 : Memory Management

Objects and ClassesDeclaring a ClassImplementing a ClassCreating ObjectsInstance variablesUsing MethodsAccessorsUsing PropertiesProperty AttributesConventionsMessagesMethod DispatchInitializersCustom InitializersDesignated InitializersInitializer Chain

What is Foundation FrameworkNSObjectStringsNSStringUsing ArraysNSArrayNSNumberNSDictionaryNSErrorNSDataNSException

Understanding MemoryUnderstanding Memory Address BasicsMemory PointersAddressesUnderstanding PointersStack and Heap MemoryAutomatic Memory ManagementRequesting MemoryDeallocating MemoryManaging Memory in Objective-CUsing the Retain/Release ModelRetain counts

MOB800: Cursus Swift ProgrammerenCode: MOB800 Duur: 3 dagen Prijs: € 1250

Doelgroep Cursus Swift Programmeren Deze cursus is bedoeld voor deelnemers die de beginselen van Apple’s nieuweprogrammeertaal Swift voor iOS apps willen leren.

Voorkennis Cursus SwiftOm aan deze cursus te kunnen deelnemen is geen voorkennis van programmerennoodzakelijk. Voorafgaande kennis van andere programmeertalen zoals Objective C,Java of JavaScript is bevorderlijk voor de begripsvorming.

Uitvoering Training Swift ProgrammerenDe theorie wordt behandeld op basis van presentatie slides. Demos worden gebruikt omde theorie te verduidelijken. Er is ruime gelegenheid tot oefenen en theorie en exerciseswisselen elkaar af. XCode 6 wordt gebruikt als ontwikkelomgeving. De cursustijden zijnvan 9.30 tot 16.30.

Certificering SwiftDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat SwiftProgrammeren.

Inhoud Cursus SwiftIn de cursus Swift Programmeren leren de deelnemers de basis van deze programmeer taal voor het ontwikkelen van iOS apps. Na een introductie in de XCodeontwikkelomgeving, de playgound projecten en de iOS projecten, wordt ingegaan op de syntax van de taal. Hierbij wordt ook de relatie met Objective C besproken.Aandacht wordt besteed aan Swift versies van bekende C data types zoals Int voor integers en Float voor floating points. Ook komen de voornaamste Collectiontypes, Array en Dictionary, aan bod. Swift maakt veel gebruik van variabelen waarvan de waarde niet mag veranderen waardoor de code veiliger en duidelijker is.Aan de functie en het gebruik van deze constanten wordt ruime aandacht besteed. Ook worden de nieuwe geavanceerde types die zijn geintroduceerd zoals tuplesbesproken. Na de behandeling van functies en de parameter doorgifte, komen classes met properties en methods aan de orde. In tegenstelling tot sommige anderetalen is het in Swift niet nodig aparte interface en implementatie files te maken voor classes. Classes zijn gedefinieerd in een enkel file en zijn dan beschikbaar vooraanroepende code. De cursus wordt afgesloten met de behandeling van closures die beschouwd kunnen worden als stukken functionaliteit die aan code kunnenworden doorgegeven en gebruikt.

Module 1 : Swift Intro Module 2 : Swift Syntax Module 3 : Swift Programming

What is Swift?Why SwiftComparison with Objective CXcode 6 EnvironmentEnvironment setupCreating Playground ProjectCreating iOS Project.playground filesSetting preferencesUsing navigator

ConstantsVariablesStringsInterpolationStatementsPrintingCommentsData TypesIntegers and FloatsTuplesEnumerations

OperatorsArithmetic OperatorsComparison OperatorsConditionalsOverflow CheckingLoopingXCode Playground TimelineArraysArray MutabilityArray IterationsDictionariesMutability of DictionariesUsing DictionariesTuples

Module 4 : Functions Module 5 : Classes and Objects Module 6 : Closures

Code reuse with FunctionsDefining FunctionsCalling FunctionsParametersScope of DeclarationsExternal Parameter NamesDefault Parameter ValuesReturning tuplesNested FunctionsRecursion

What are Classes?Class DefinitionClasses and ObjectsAccess ModifiersClass MethodsPropertiesAttributesInitializersValue TypesReference TypesMethod OverloadingInheritance

Closure introClosure ExpressionsInternal IterationMapping and ReducingComputed PropertiesOptionalsOptional ValuesOptional BindingVariadic parameters

MOB850: Cursus iOS Development met SwiftCode: MOB850 Duur: 5 dagen Prijs: € 2200

Doelgroep Cursus iOS Development met SwiftDeze cursus is bedoeld voor developers die de taal Swift willen gebruiken voor deontwikkeling van apps voor de iPhone en iPad.

Voorkennis SwiftOm aan deze cursus te kunnen deelnemen is enige voorkennis van programmeren inObjective C of Swift vereist.

Uitvoering Training iOS Development met SwiftDe theorie wordt behandeld op basis van presentatie slides. Demos worden gebruikt omde theorie te verduidelijken. Er is ruime gelegenheid tot oefenen en theorie en exercisewisselen elkaar af. In de cursus wordt gewerkt met de iOS 8 SDK, Xcode 6 en InterfaceBuilder. De cursustijden zijn van 9.30 tot 16.30.

CertificeringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat iOSDevelopment met Swift.

Inhoud Cursus iOS Development met SwiftIn de cursus iOS development met Swift leren de deelnemers de programmeer taal Swift tegebruiken voor de ontwikkeling van apps voor de iPhone en de iPad. Na een introductie in de XCode IDE en een review van de Swift programmeertaal wordtaandacht besteed aan de anatomie van een iOS applicatie, de sandbox omgeving en de kenmerkende architectuur van iOS apps namelijk de model, view controllerarchitecture. Voorts leren de deelnemers werken met de XCode IDE, de Interface Builder, het UIKit Framework en de iOS SDK. Gedurende de cursus worden erdiverse apps ontwikkeld zoals een newsreader app en apps die gebruik maken van meerdere views. Deze apps maken gebruik van diverse controls zoals buttons,switches, tables en maps. Ook wordt aandacht besteed aan zaken die specifiek zijn voor iPad apps zoals split views en popup menus. Daarnaast staat ookmultitasking, HTTP networking, web service access, data access met Core Data en SQLite en het omgaan met XML en JSON data op het programma. Deelnemersleren gebruik te maken van storyboards voor UI ontwerp en onderzoeken de teken technieken en animatie. Gedurende de cursus komt ook het debuggen van iPhoneen iPad apps aan bod. De cursus wordt afgesloten met aandacht voor deployment issues en localizatie van apps.

Module 1 : Apps Intro Module 2 : Swift Overview Module 3 : App Architecture

XCode IDeCreating projectsTemplates, Projects, and WorkspacesCreating a New ProjectLLVM and LLDBDebug GaugesAsset ManagementXCTest Testing FrameworkAnatomy of an iOS DeviceiOS ArchitectureAvailable SDKsVersion Compatibility

StatementsConstantsVariablesData TypesCollection TypesFunctionsClosuresClasses and StructuresAutomatic Reference Counting (ARC)OptionalsProtocolsGenericsObjective-C Interoperability

MVC architectureModelViewControllerIBOutletsIBActionsSubclassingDelegationRoot View ControllerNavigation ControllerControlling Stack Navigation

Module 4 : UIControls Module 5 : Views Module 6 : Multitasking

Interface BuilderBasic InteractionButtonsText FieldsSlidersSegmentsSwitchesAction sheetsAlertsScrollingImage scrollingZooming imagesPaging imagesData PickerHiding the Keyboard

What are viewsThe View HierarchyView behaviorContainersControlsDynamic applicationsSwap viewsCollection viewsGridsText and Web ViewsNavigation ViewTab BarsAlert Views and Action SheetsDisplay dynamic web pages

Application StatesBackground ExecutionBackground App RefreshState RestorationConcurrencyGrand Central Dispatch (GCD)Serial and Concurrent QueuesMain Dispatch QueueCompletion BlocksOperation Queues

Module 7 : Advanced Controls Module 8 : Persistence Module 9 : RSS and JSON

PickersTablesCustomizing TablesStatic Table ViewsDynamic Table ViewsDelegatesDataSources

Storing user preferencesNSFileManagerNSFileHandleNSDataPathnames in SwiftWorking with DirectoriesWorking with Files

ReachabilitySynchronous DownloadsAsynchronous DownloadsHandling TimeoutsSending HTTP GET RequestsSending HTTP POST RequestsUsing RSS

Table View StylesCustom CellsTab BarsUsing MapKitDisplay MapsNavigate LocationsDrop Pins

Reading and Writing from a FileKey-Value DataSQLite IntegrationUsing SQLite DirectlyOverview of Core DataManaged ObjectsPersistent Store CoordinatorEntity DescriptionsRetrieving and Modifying Data

Using JSONParsing JSONParsing XMLAirDrop

Module 10 : Layouts and Storyboards Module 11 : Drawing and Animations Module 12 : Advanced Topics

Auto layoutView AutosizingHandling screen sizeHandle rotationSize classesSplit view controllersControlling Rotation BehaviorWhat are Storyboards?Adding ScenesSeguesTransitionsUsing in a Tab Bar Application

The Responder ChainTouch Notification MethodsScheduling notificationsRespond to notificationsEnabling Multitouch on the ViewGesture MotionsGesture RecognizersDrawingCore Graphics and Quartz 2DLines, Paths, andShapesAnimationCore Animation BlocksAnimation CurvesTransformationsSpriteKitSceneKitPhysics EngineAdding Effects

Targeting Multiple DevicesiPhone vs. iPadUniversal AppsDetecting Device CapabilitiesSupporting Multiple iOS VersionsHandoffInteractionsApp Framework SupportImplementing HandoffContinuation StreamsApp ExtensionsLocalizationResourcesRunning on a Physical DeviceDevelopment CertificatesAssigning DevicesCreating an App IDProvisioning Profiles

MOB900: Cursus iOS Development met Objective CCode: MOB900 Duur: 5 dagen Prijs: € 2200

Doelgroep Cursus iOS Development met Objective C Deze cursus is bedoeld voor developers die Objective C willen gebruiken voor hetontwikkelen van iOS apps voor de iPhone en de iPad.

Voorkennis Objective COm aan deze cursus te kunnen deelnemen is enige voorkennis van en ervaring metprogrammeren in Objective C vereist.

Uitvoering Training iOS Development met Objective CDe theorie wordt behandeld op basis van presentatie slides. Demos worden gebruikt omde theorie te verduidelijken. Er is ruime gelegenheid tot oefenen en theorie en exercisewisselen elkaar af. In de cursus wordt gewerkt met de iOS 8 SDK, Xcode 6 en InterfaceBuilder. De cursustijden zijn van 9.30 tot 16.30.

Certificering iOS Development met Objective CDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat iOSDevelopment met Objective C.

Inhoud Cursus iOS Development met Objective CIn de cursus iOS Development met Objective C leren de deelnemers om apps teontwikkelen voor de iPhone en de iPad met de programmeer taal Objective C en Apple’s Cocoa Touch framework. Aan de orde komt het werken met XCode 6 enandere development tools en de iOS applicatie development architectuur. Na een review van de Objective C taal wordt aandacht besteed aan het gebruik van dejuiste Objective C technieken en patterns. Vervolgens wordt het ontwerpen van User Interfaces met UI controls en storyboards besproken en worden technieken voorhet tekenen en animaties onderzocht. Ook het gebruik van multitasking met threads in iOS en het laten draaien van apps in de background komt aan de orde. Ook inmobiele devices bestaat de behoefte om data locaal op te slaan zoals user data of preferences en dit wordt besproken aan de hand van Core Data en SQLite.Daarnaast staat het verwerken van XML en JSON data in apps op het programma en komen nog een aantal aan de orde die te maken hebben met het deployen vanapps op devices. Tenslotte komen nog een aantal best practices om te programmeren voor zowel iPhone and iPad devices aan bod.

Module 1 : iOS Intro Module 2 : Objective C Overview Module 3 : MVC Architecture

Versions of iOSSupported DevicesCommand Line InteractionApple Approval ProcessInstalling XCodeUpdating XCodeCode DevelopmentCode TrackingDebugging UtilitiesNavigation ToolsAnatomy of an iOS DeviceiOS ArchitectureAvailable SDKsVersion Compatibility

Basic SyntaxObjects and ClassesUsing Dynamic BindingUsing ARCHardware InteractionData Types and StructsFlow ControlPointersHeap and Stackid Data TypeType SafetyFunction Support of ObjectsProtocolsCategoriesBlocks

MVC ParadigmRole of ModelRole of ViewRole of ControllerApplication Design ProcessModel View Controller (MVC)Target-Action PatternSubclassingDelegationService Oriented ArchitectureWeb Services OverviewApple Push Notification Service (APNs)

Module 4 : Using NextStep Types Module 5 : Views Module 6 : Multitasking

NSDateNSPointNSSizeNSStringCollection ObjectsNSSetNSMutableSetNSArrayNSMutableArrayNSDictionaryNSMutableDictionary

Views and View ControllersUsing Generic ViewsView ControllersApple’s UI Design StandardsUtilizing ControlsStoryboardsSpecific Purpose ViewsText ViewWeb ViewMap ViewTable and Table Cell ViewDesigning ViewsCustom View TransitionsCustom Animations

Creating ThreadsAsynchronous ProcessingSyntax of BlocksPurpose of BlocksBlock Animation MethodsMultithreaded BlocksApps Moving to BackgroundDetecting Low Memory EventsSolving Low Memory EventsHandling Custom EventsHandling Exceptions

Module 7 : Persistence Module 8 : Networking Module 9 : Deployment

Storing user preferencesNSFileManagerNSFileHandleNSDataPathnames in SwiftWorking with DirectoriesWorking with Files

ReachabilitySynchronous DownloadsAsynchronous DownloadsHandling TimeoutsSending HTTP GETSending POST RequestsParsing JSON

Signing AssetsDeveloper CertificatesAssigning DevicesXcode IntegrationPerformancePower OptimizationMeasuring Performance

Reading and Writing from a FileKey-Value DataSQLite IntegrationUsing SQLite DirectlyOverview of Core DataManaged ObjectsPersistent Store CoordinatorEntity DescriptionsRetrieving and Modifying Data

Parsing XMLValidating XMLTransforming XML

ResponsivenessMemory UsageNetworking and PowerDeploymentIcons and Launch ImagesArchivingDistributioniTunes Connect

NET100: Cursus .NET OverviewCode: NET100 Duur: 1 dag Prijs: € 499

Doelgroep Cursus .NET Deze cursus is bedoeld voor personen die een overzicht willen krijgen van de kenmerkenen functies van het .NET framework.

Voorkennis Cursus .NETKennis van software development en een enige kennis van programmeren is vereist omaan deze cursus te kunnen deelnemen.

Uitvoering Training .NETDe concepten worden behandeld aan de hand van presentatie slides. De besprokenconcepten worden gedemonstreerd met demo’s in Visual Studio.NET. De cursustijden zijnvan 9.30 tot 16.30.

Certificering .NET CursusDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat .NETOverview.

Inhoud Cursus .NET OverviewIn deze cursus krijgt u een overzicht van de werking en mogelijkheden van het .NETplatform en de manier waarop de ontwikkeling van applicaties voor Windows en het Webis veranderd met de komst van .NET. Aandacht wordt besteed aan de voordelen die .NET biedt voor de schaalbaarheid en de flexibiliteit van applicaties en het hoeen waarom van de Common Language Runtime. De verschillende soorten applicaties in .NET worden besproken, zoals Windows Forms applicaties, Web Formsapplicaties en Web Services. Uiteraard worden ook de nieuwe programmeertalen en API’s voor .NET, waaronder C#, VB.NET en ASP.NET besproken. Tenslottewordt ook aandacht besteed aan database access met ADO.NET.

Module 1 : .NET Intro Module 2 : Managed Execution Module 3 : ASP.NET

What is .NET?.NET ArchitectureThe .NET EvolutionCommon Language RuntimeWhat is Managed Code?Common Language Runtime Components.NET Framework Class LibraryNamespacesASP.NET and Web FormsWindows Forms and Console ApplicationsXML Web ServicesADO.NET: Data and XML.NET Resources

Using a NamespaceDefining Namespace and ClassEntry Points, Scope, DeclarationsConsole Input and OutputCompiling and RunningProcess of Managed ExecutionMSIL and MetadataAssembliesApplication DomainsGarbage Collection

What is ASP.NET?ASP.NET Web ApplicationWeb FormsWeb Server ControlsView StateEvent ProceduresCode Behind PagesPage Event Life Cycle

Module 4 : Web Services Module 5 : ADO.NET Module 6 : .NET 4.0

What is a XML Web Service?Why use Web Services?Finding Web ServicesCreating Web ServicesWeb Service CodeCalling Web Service Using HTTPCalling Web Service Using Proxy

What is ADO.NET?Using NamespacesThe ADO.NET Object ModelWhat is a DataSet?Accessing Data with ADO.NETDataAdapter Object ModelGenerating a DatasetDatabound Controls

GenericsPartial ClassesASP.NET improvementsMaster Pages

NET200: Cursus C# / C Sharp ProgrammerenCode: NET200 Duur: 5 dagen Prijs: € 2250

Doelgroep Cursus C# / C Sharp Programmeren Deze cursus is bedoeld voor ervaren developers met een achtergrond in Java, C++,Delphi of Visual Basic.

Voorkennis C SharpDeelnemers aan deze cursus moeten ervaring in Java, C++, Delphi of Visual Basichebben. Ook worden zij geacht bekend te zijn met de basisprincipes van het .NETFramework.

Uitvoering Training C# ProgrammerenDe theorie wordt gepresenteert aan de hand presentatie slides. Demo’s dienen terverheldering van de behandelde concepten. De theorie wordt afgewisseld metoefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering C#De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat C#Programmeren.

Inhoud Cursus C#In deze cursus leren de deelnemers programmeren in het .NET platform met de C# taal.De nadruk van de cursus ligt op de C# syntax, programma structuur en implementatie details. Na het volgen van de cursus zullen de deelnemers in staat zijn de roldie C# speelt in het .NET Framework en het .NET Platform te beschrijven. Ze zijn in staat om een eenvoudige applicatie te programmeren, die te documenteren, tedebuggen en te compileren. De deelnemers leren gebruik te maken van variabelen, data types, operatoren, loops en exception handling. Ook leren zij methoden aante roepen en te schrijven, om te gaan met arrays en object georienteerd programmeren met classes en objects. Bovendien leren de deelnemers werken metdelegates, events, properties, indexers and attributes. The meest recente versie van C# wordt in de cursus gebruikt.

Module 1 : C# Intro Module 2 : Language Syntax Module 3 : Classes and Objects

What is C#?C# Versions.NET Versions.NET ArchitectureCommon Language RuntimeManaged CodeC# CompilationCompilation and ExecutionManaged ExecutionAssembliesMSIL and MetadataApplication TypesGarbage Collection.NET Framework Class LibraryC# Resources

C# Data TypesConsole IOVariablesVariable ScopeCase SensitivityOperatorsFlow Controlif Statementswitch Statementfor Loopsforeach Statementwhile Statementdo Statementsbreak and continueStringsArraysMethodsParameter Passing

Classes and ObjectsExample Class and ObjectsClass DefinitionEncapsulationAccess ModifiersConstructorsCreating ObjectsFieldsPropertiesSpecial Propertiesstatic ModifierOverloadingConstantsCommon Type SystemValue TypesReference TypesObject References

Module 4 : Inheritance Module 5 : Exception Handling Module 6 : Namespaces

InheritanceDerived ClassesOverriding MethodsHiding MethodsPolymorphismAbstract ClassesInterfacesImplementing InterfacesType CastingImplicit CastingExplicit Casting

Error ConditionsExceptions in C#Exception Handling SyntaxException FlowExceptions TemplateExceptions Objectfinally ClauseThrowing ExceptionsUser Defined ExceptionsCatching User Exceptions

What are Namespaces?.NET NamespacesDefining NamespacesUsing NamespacesNested NamespacesNamespace AliasesNamespace DirectoryAssembliesModulesMathLibrary ModuleAssembly ManifestAssemblyInfoUsing MathLibraryTypes of AssembliesGlobal Assembly CacheStrong Names

Module 7 : Threads Module 8 : Synchronization Module 9 : Special Classes

Multiple ThreadsBenefits and DrawbacksThread CharacteristicsC# Thread Model

Concurrent Method InvocationSynchronizationBlocking on MonitorLock Statement

What is a Delegate?Benefits of DelegatesMulticastingDelegates and Events

Thread ClassThread StackThread DelegateMultiple ThreadsAutonomous ClassesPassing ParametersThread NamingBackground ThreadsThread ExceptionsThread Methods

Mutual Exclusion in C#Joining ThreadsInterrupting ThreadsDeadLockWait HandlesInterthread CommunicationCondition SynchronizationMonitor Wait and Pulse

Simple Event HandlingEnumerationsEnumeration Base TypesExtension MethodsPartial ClassesAttributesAttribute ParametersCustom AttributesNullable TypesStatic Classes

Module 10 : Utility Classes Module 11 : Generics Module 12 : Collections

Object ClassBoxing and UnboxingOverriding EqualsMath ClassDateTime StructureRegex ClassInput ConversionConvert ClassProcess ClassEnvironment ClassGlobalizationLocalizing DatesLocalizing NumbersXML Documentation

What are Generics?Need for GenericsGeneric Class SyntaxBenefits of GenericsMultiple Generic ParametersRuntime TypeParameter ConstraintsGeneric Methods

What are Collections?Framework ClassesProperties of CollectionsPredefined CollectionsArray ClassList ClassQueue ClassQueue MethodsStack ClassStack MethodsLinked ListSorted ListDictionaryHashtableBitArray

Module 13 : File I/O

Stream I/OI/O ClassesFile TypesWriting Text FileReading Text FileUsing DirectiveAccessing Binary FilesBuffered StreamsSerializationImplementing SerializationAccessing File SystemDirectory Classes

NET300: Cursus ASP.NET Web DevelopmentCode: NET300 Duur: 4 dagen Prijs: € 1999

Doelgroep Cursus ASP.NET Deze cursus is bestemd voor Web developers die ASP.NET 4 en Visual Studio willenleren.

Voorkennis Cursus ASP.NET Web DevelopmentOm aan deze cursus te kunnen deelnemen is goede kennis van HTML en elementairekennis van C# vereist.

Uitvoering Training ASP.NET Web DevelopmentDe cursus heeft een hands-on karakter. De theorie wordt behandeld aan de hand vanpresentatie slides. De theorie wordt afgewisseld met demo’s en oefeningen. Decursustijden zijn van 9.30 tot 16.30.

Certificering ASP.NET Web Development CursusDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatASP.NET Web Deverlopment.

Inhoud ASP.NET CursusIn deze cursus krijgen de deelnemers een uitgebreide inleiding in ASP.NET waarmee zijin staat zijn moderne state of the art web applicaties te ontwikkelen. Na het doorlopen vande cursus zijn de deelnemers in staat de belangrijke aspecten van ASP.NET te begrijpen en toe te passen in hun eigen web applicaties. Aandacht wordt besteed aanhet opbouwen van een User Interface in ASP.NET dat gebruikt maakt Masterpages en van allerhande controls. Vervolgens komt aan de orde welke mogelijkhedenASP.NET heeft voor de input validatie van deze controls. Ook het benaderen van databases met ADO.NET vanuit ASP.NET applicaties staat op het programma. Eenbelangrijk aspect in Web applicaties is hoe data van gebruikers tussen requests in kan worden behouden en hoe sessies kunnen worden gemaakt. Dit wordtbesproken in het onderdeel State Management. Tenslotte is er aandacht voor het Entity Framework waarmee Object Relational Mapping wordt geimplementeerd.

Module 1 : Intro to ASP.NET Module 2 : ASP.NET UI Module 3 : Validation Controls

Overview of ASP.NETHTML ControlsWeb From Server ControlsHow Web Forms WorkIIS ObjectsCreating User ControlsConstructing Web Forms with controlsDeveloping with Visual StudioDebuggingApplying the common Web Form controls

Ensuring uniform page layoutDevising site templatesAdding controls to Master pagesImplementing ASP.NET Menu, TreeView andSiteMapPathDefining your site structure using SiteMapsDynamically moving between pages in codeImplementing CSS without changing page contentBuilding Themes from Skins and CSSStyling controls with Skins

Introducing Validation ControlsUsing the RequuredFieldValidator ControlUsing the RangeValidator ControlUsing the RegularExpressionValidatorControlUsing the CustomValidator ControlUsing the ValidationSummary ControlUsing the CompareValidatorControl

Module 4 : ADO.NET Module 5 : State Management in ASP.NET Module 6 : Entity Framework

Getting Started with ADO.NETBenefits of ADO.NETIntroducing the DataReaderUsing a Data Reader to Fill a DropDownListControlRetrieving DataSets GenericallyWorking with Relations in a DatabaseIntroducing ADO.NET ConnectionsProviding ADO.NET Connection InformationUsing ADO.NET Connection ObjectsUpdating Data Using a Command Object

Investigating State ManagementUsing the Session ObjectUsing CookiesViewState PropertyCookieless SessionsASP.NET State ServiceSQL Server State ManagementWhat’s Changed from ASP

ReportingGenerating selection criteriaFiltering dataReporting from dynamically cached dataBinding the Entity FrameworkIntegrating dataEntity DataSourceDynamically generating queriesQuery ExtenderSelecting and sorting data with LINQ

NET400: Cursus Web Services in NETCode: NET400 Duur: 4 dagen Prijs: € 1999

Doelgroep Cursus Web Services in .NET Deze cursus is bedoeld voor developers die .NET WCF Web Services willen begrijpen engebruiken in hun applicaties.

Voorkennis Cursus Web ServicesOm aan deze cursus te kunnen deelnemen is kennis en ervaring met C# vereist. Kennisvan ASP.NET is bevordelijk voor een goede begripsvorming.

Uitvoering Training Web Services in .NETDe cursus heeft een hands-on karakter. De theorie wordt behandeld op basis vanpresentatie slides. De theorie wordt afgewisseld met demo’s en oefeningen. Decursustijden zijn van 9.30 tot 16.30.

Certificering WCF Web Services in .NETDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat WCFWeb Services in .NET.

Inhoud Cursus Web Services in NETIn de cursus Web Services in .NET leren de deelnemers om Web Services met behulp vanWindows Communication Foundation (WCF) en C# te ontwikkelen. Onderdeel vande cursus zijn onder andere de fundamenten van het Simple Object Access Protocol (SOAP) en de Web Services Description Language (WSDL) die van essentieelbelang voor zijn voor het creëren van interoperabele Web Services. De kenmerken en functies van Web Services worden besproken. Van een eenvoudige WebService worden de HTTP, XML en SOAP berichten onderschept en wordt het WSDL geanalyseerd. De cursus behandelt de technieken voor de creatie en hetdebuggen van ASP.NET Web services met Visual Studio.NET en het creëren van clients van Web Services met behulp van het direct gebruik van de .NET API. Ookmeer geavanceerde onderwerpen, zoals state management, caching en transacties in Web Services worden behandeld. De belangrijkste technologieën vanASP.NET Web Services, zoals XML serialisatie, SOAP, WSDL en Universal Description, Discovery and Integration (UDDI) komen in het cursus programma aan bod.Ook .NET classen voor het manipuleren van WSDL files worden besproken. Vervolgens worden Web Service security en nieuwe opkomende Web Servicesspecificaties verkend. Dit geldt ook voor de diverse security problemen en technologieën in Web services zoals HTTPS, SSL 3.0, XML Signature, XML Encryption,XML Key Management Specification (XKMS), Security Assertion Markup Language (SAML) en WS-Security.

Module 1 : WCF Intro Module 2 : Web Services Intro Module 3 : SOAP

What is WCF?Positioning WCFWCF versus Web ServicesEndpointsAddressesWS-AddressingAddressing ExamplesBindingsWCF BindingsConfiguring BindingsWCF ContractsService ContractsData ContractsMessage ContractsFault ContractsCreating EndpointsMultiple EndpointsHosting WCF ServicesWCF Architecture

What are Web Services?Distributed Applications EvolutionRole of interfaceRPC ExampleInteroperabilityWeb Service TypesWeb Services StackSOAP Web ServicesREST Web ServicesRPC Style Web ServicesDocument Style Web ServicesService Oriented Architecture

What is SOAP?SOAP CharacteristicsSOAP Design GoalsSOAP Protocol ConceptsSOAP MessagesSOAP BodySOAP HeadersSOAP NamespacesSOAP FaultsSOAP Version differencesSOAP Messages as payloadMessage Exchange PatternsSOAP Message PathSOAP Intermediariesactor and mustUnderstand attribute

Module 4 : XML-Schema Module 5 : WSDL Module 6 : Hosting

Why XML-Schema?Well formed and valid documentsWhat XML-Schema’s?Markup LanguagesXML Schema AdvantagesXML Schema design modelsClassic Use of Schema’sXML NamespacesSimple and Complex typesXML Schema Data TypesUser Defined Data TypesDerivation by RestrictionDerivation by Extension

What is WSDL?Where is WSDL used?Benefits of WSDLWSDL and Code GenerationWSDL in Web Service stackWSDL NamespacesWSDL StructureWSDL ElementsTypes and MessagesPortType and OperationsWSDL BindingsService ElementSOAP Messages ModesWSDL 2.0

What is Hosting?Hosting TypesHosting CriteriaService DescriptionSelf HostingService Host CreationApp.config ConfigurationProgrammatic ConfigurationWindows HostService DescriptionManaged Window ServiceCreating Windows ServicesHosting in Windows ServicesIIS Hosting.SVC FileWeb.config for IIS HostHosting in IISWindows Activation Service

WAS Commands

Module 7 : Contracts/strong> Module 8 : Instance Management Module 9 : Binding

WCF ContractsService ContractCreating Service ContractData ContractEmployee Data ContractService ImplementationClient SideMessageMessage PatternMessage ContractMessage Contract DefinitionMessage Contract RulesCustomizing SOAPMessageHeaderArrayProtectionLevel PropertyName PropertyOrder PropertyFault Contract

Instance ManagementInstance Mode ConfigurationPer Call ServiceProcess of Handling Per CallPer Session ServiceSingleton ServiceInstance DeactivationReleaseInstanceModeReleaseInstanceMode.NoneBeforeCallBeforeAndAfterCallExplicit DeactivationDurable ServicesDefining Durable ServicesThrottlingThrottling ConfigurationProgrammatic Configuration

BindingBindings and Channel StacksMessage BubblingBasic Binding TypesWS Binding TypesNET Binding TypesBinding ConfigurationAdministrative ConfigurationProgrammatic ConfigurationMetadata ExchangePublishing MetadataMetadata Exchange PointMEX Administrative ConfigMEX Programmatic Config

Module 10 : Message Patterns Module 11 : Web API REST Services

Message PatternsRequest-ReplyOne WayOne Way OperationSessionful ServicesExceptionsCallback ServiceCallback ContractClient Callback SetupService Side Callback Invocation

What is REST?REST Web ServicesSimple REST ExamplesREST Web Service PrinciplesID and LinksREST Services with Web APIMultiple RepresentationsEmbedded Path ParametersCommon REST PatternsResources URI AccessJavaScript Object Notation (JSON)XML versus JSON

NET500: Cursus XAML ProgrammerenCode: NET500 Duur: 2 dagen Prijs: € 999

Doelgroep XAML Programmeren Deze cursus is bedoeld voor ervaren .NET ontwikkelaars die XAML willen gebruiken om.NET user interfaces te ontwikkelen.

Voorkennis XAML ProgrammerenOm aan deze cursus te kunnen deelnemen is kennis en ervaring met .NET applicatieontwikkeling vereist.

Uitvoering Training XAML ProgrammerenDe theorie wordt besproken aan de hand van presentatie slides en wordt afgewisseld metpraktische oefeningen. Demo’s worden gebruikt om de concepten te verduidelijken. Decursustijden zijn van 9.30 tot 16.30.

Certificering XAML ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat XAMLProgrammeren.

Inhoud Cursus XAML ProgrammerenDe cursus XAML programmeren behandelt hoe user interfaces voor .NET applicatieskunnen worden gebouwd met Extensible Application Markup Language, kortweg XAML. Inhet bijzonder wordt aandacht besteed aan het gebruik van XAML in een Windows Presentation Foundation (WPF) omgeving. Na een inleiding over waar XAML wordtgebruikt en het waarom van XAML, wordt besproken hoe je visuele elementen in declaratieve XAML markup definieert. De XAML markup is daarbij gescheiden vande business logic in code behind files waarin partial class definities staan. De syntax van de XAML taal en de verschillende objecten en hun properties worden ookbesproken. Verder wordt ook aandacht besteed aan hoe om te gaan met data binding en hoe events op user interface elementen kunnen worden gekoppeld aancode. De kennis van XAML die in deze cursus wordt verkregen kan ook elders worden toegepast.

Module 1 : XAML Intro Module 2 : XAML Basics Module 3 : XAML Graphic Elements

What is XAML?WPF ArchitectureDrawing with XAMLWhere is XAML used?XAML PropertiesMarkup extensionsWhy XAML?Graphics and ImagingAudio and Video SupportXAML on the WebXAML toolsXAML alternatives

XAML versus CodeAttributes and EventsNesting ElementsXAML NamespacesWPF PropertiesType ConvertersProperty Mini LanguageMarkup ExtensionsNesting ControlsContent CollectionsNaming ElementsAdding Events with names

Basics Graphics ElementCanvasParent PositioningShapesBrushesBrush TypesUsing TextImagesTransformationTransformation TypesCombining TransformationsMedia Integration

Module 4 : Animation Module 5 : 3D Module 6 : Data Binding

Animating with XAMLStoryBoardsAnimation ExampleTriggersDoubleAnimationColorAnimationPointAnimationAnimation with KeyframesTypes of KeyframesProgrammatic Animation

WPF 3DViewport 3DViewport 3D contentsXAML PropertiesCamera TypeCamera Point of ViewLightModelGeoMetryModel3DMaterials : 3DBrushesTransformations3D and Feasibility

Need for Data BindingData BindingSingular BindingSimple BindingConversionsValidationData TemplateMaster DetailFilteringSorting

NET600: Cursus Ajax .NET ProgrammerenCode: NET600 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Ajax .NET Programmeren Deze cursus is bedoeld voor ervaren .NET ontwikkelaars die Ajax willen gebruiken bij deontwikkeling van web applicaties.

Voorkennis Cursus Ajax .NETOm aan deze cursus te kunnen deelnemen is kennis en ervaring met .NET WebApplication Development met ASP.NET vereist.

Uitvoering Training Ajax .NET ProgrammerenDe theorie wordt besproken aan de hand van presentatie slides en wordt afgewisseld metpraktische oefeningen. Demos’s worden gebruikt om de behandelde concepten teverhelderen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Ajax .NET ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Ajax.NET Programmeren.

Inhoud Cursus Ajax .NETDe cursus Ajax .NET programmeren richt zich op het gebruik van Ajax in een ASP.NETomgeving. Na een inleiding over de basisprincipes van Ajax en het XMLHttpRequestobject en een overzicht van de technologieën die Ajax combineert zoals JavaScript, DOM en Dynamic HTML, wordt het Microsoft Ajax Framework in ASP.NETbesproken. Hierbij komt de rol van de Script Manager aan de orde en worden de Microsoft Ajax extensies besproken. Ook wordt aandacht besteed aan de diversecontrols die de Miscrosoft Ajax library biedt zoals het UpdatePanel en de Timer. Tot slot wordt JavaScript Object Notation (JSON) voor de overdracht van JavaScriptobjecten over het netwerk behandeld en komt de aanroep van Web Services vanuit Javascript in ASP.NET pagina’s aan de orde.

Module 1 : AJAX introduction Module 2 : AJAX API Details Module 3 : ASP.NET Ajax

What is AJAX?AJAX TechnologiesBasic AJAX APIXHTMLEmbedding XHTMLXML ??DocumentsJavaScript DOM APIDOM hierarchy

Request ObjectGET and POST RequestsConcurrent RequestsEvent HandlingDispatching an EventSerializing DOM Document as TextPosting an XML DocumentProcessing XML From an ASP page

Architecture of ASP.NET AjaxPartial RenderingAjax Library to Enhance User InterfacesRole of Script ManagerTypes of System ExtensionsASP.NET Ajax ExtensionsScript Manager ProxyUpdatePanelProgress UpdateTimerAjax Toolkit

Module 4 : JSON Module 5 : Calling Web Services

JavaScript Object Notation (JSON)JSON SyntaxJSON Based CommunicationJSON: Server SideJSON: Client SideWorking With ArraysJSONObject Methods

JavaScript proxiesWeb.config entriesService ReferenceBridge filesProvide Bridge Build

PHP100: Cursus PHP ProgrammerenCode: PHP100 Duur: 3 dagen Prijs: € 1250

Doelgroep Cursus PHP Programmeren Web developers die willen leren hoe je PHP (PHP Hypertext Preprocessor) kuntgebruiken voor het schrijven van dynamische web applicaties.

Voorkennis Cursus PHP ProgrammerenHTML kennis is noodzakelijk om aan deze cursus te kunnen deelnemen. Kennis vanprogrammeren is bevorderlijk voor een snelle begripsvorming.

Uitvoering Training PHP ProgrammerenDe concepten worden besproken aan de hand van presentatie slides en demo’s. Detheorie wordt afgewisseld met oefeningen. Er wordt gewerkt PHP 7 dat is geïnstalleerd ineen WAMP package met de Apache webserver en MySQL. De cursustijden zijn van 9.30tot 16.30.

Certificaat PHP ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat PHPProgrammeren.

Inhoud Cursus PHPDe cursus PHP Programmeren behandelt de basis principes van de HTML embeddedscript taal PHP. PHP staat voor Personal Hypertext Preprocessor, is beschikbaar op Windows en Linux en is bedoeld voor het ontwikkelen van dynamische webapplicaties. PHP ontleent veel van zijn syntax aan C, Java en Perl en heeft ook een uitgebreide library aan functies. In de cursus wordt gewerkt met PHP 7 en ook deverschillen met PHP 5 komen aan de orde. Tijdens de cursus werken de deelnemers aan een case study die bestaat uit een aantal op elkaar volgende oefeningen.De deelnemers leren programmeren met de variabelen, data types, operatoren en control flow constructies van de PHP taal. PHP functies en arrays worden ookbesproken. Centraal element in de cursus is de creatie van dynamische web pagina’s met PHP. Ook wordt aandacht besteed aan het submitten van web forms, hetlezen van input parameters, het afhandelen van fouten, het omgaan met cookies en het werken met sessies. Tenslotte wordt besproken hoe PHP kan wordengebruikt voor MySQL database benadering en het lezen en schrijven van files op de server. Een optionele module is, indien de tijd het toelaat, de validatie van inputforms met behulp van PHP. In combinatie met de PHP303 cursus, Advanced PHP Programming, behandelt deze cursus de eisen voor het Zend PHP Certificationexamen.

Module 1 : PHP Introduction Module 2 : Variables and Operators Module 3 : Control Flow

What is PHP?History of PHPPHP Usage StatisticsPerformance ComparisonPHP BenefitsPHP Processing ModelUsing PHPThe Script TagsPHP BasicsPHP Output StatementsPHP InstallationPHP ConfigurationPHP IDE’sPHP references

PHP ConstantsPHP VariablesPHP Data TypesWeak TypingDynamic TypingNumber Data TypeString Data TypesBoolean Data TypesPHP OperatorsText ProcessingVariable InterpolationInclude and RequireArraysAssociative ArraysCreating Arrays

if Statementelse Statementelseif Statementswitch Statementfor Loopwhile Loopdo while Loopbreak Statementcontinue Statementnested Loopsforeach Loops

Module 4 : Functions Module 5 : Submitting Forms Module 6 : Error Handling

FunctionsUser Defined FunctionsVariable ScopeStatic VariablesCase SensitivityReferencesCall by ReferenceCall by ValueTerminating scriptsNumber FormattingPHP Library FunctionsNumerical FunctionsString FunctionsArray FunctionsArray Sorting Functions

HTTP Requests and ResponsesHTML FormsForm StructureForm SubmissionUsing POST and GETPHP Form ProcessingUsing issetSubmit on SelfHTML Input TypesAccessing Form ParametersMultiple Valued Form ElementsHTTP Request HeadersHTTP Status CodesPHP SuperglobalsServer SuperglobalRegister Globals

Debugging Syntax ErrorsLogic ErrorsDisplaying ErrorsError Severity LevelsError Configuration SettingsError ReportingLogging ErrorsUser InputSyntactical ErrorsSemantical ErrorsFatal ErrorsNon Fatal ErrorsError Handling

Module 7 : Cookies and Sessions Module 8 : File I/O Module 9 : Database Access

What are Cookies?Problems with Cookies

PHP Files OverviewCreating Files

Web Database ApplicationsPHP and Data Access

Getting CookiesSetting CookiesDeleting CookiesCookie parametersSetting Cookie parametersWhy Session Tracking?Session ID’sSession TrackingSession Tracking MechanismsPHP Sessions

Opening FilesReading FilesWriting FilesDeleting FilesNavigate within a Filefgets Functionfile_get_contents Functionfile_put_contents FunctionUploading FilesHandling Uploaded FilesUploaded File Location

What is mysqli?Connecting to MySQLmysqli Connection FunctionsConnection Optionsmysqli Query FunctionsData Definition QueryInserting RecordsRetrieving ResultsFetch in ArraysFetch FunctionsBuffered QueriesUnbuffered QueriesPrepared Statements

Optional Module : Validation

Hidden Field to Enable ValidationValidating Form DataDisplaying Error MessagesRequired FieldsInteger FieldsChecking an Integer RangeFloating Point FieldsChecking an Email AddressDefault ValuesChecking Login Data

PHP303: Cursus Advanced PHP ProgrammerenCode: PHP303 Duur: 4 dagen Prijs: € 1750

Doelgroep Cursus Advanced PHP PHP web developers met een basis kennis van PHP die geavanceerd gebruik willenmaken van PHP om dynamische web pagina’s te maken.

Voorkennis Cursus Advanced PHP ProgrammerenOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met PHP vereist,zoals wordt besproken in de cursus PHP100, PHP programmeren.

Uitvoering Training Advanced PHPDe concepten worden behandeld aan de hand van presentatie slides. Demo’s dienen terverduidelijking van de theorie. De theorie wordt afgewisseld met oefeningen. In de cursuswordt gewerkt met PHP 7 dat is geïnstalleerd in een WAMP package met de Apachewebserver en MySQL. De cursustijden zijn van 9.30 tot 16.30.

Certificering Advanced PHP ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAdvanced PHP Programmeren.

Inhoud Advanced PHPDe cursus Advanced PHP Programmeren behandelt geavanceerde mogelijkheden vanPHP. In de eerste plaats is er aandacht voor Object Oriëntatie in PHP. Van bekende object georiënteerde concepten zoals classes en objects, encapsulation eninheritance wordt de PHP implementatie besproken. Ook het concept Exception Handling wordt aan de orde gesteld. Een ander onderwerp in het cursus programmais hoe om te gaan met XML en JSON in PHP. Hierbij worden verschillende PHP XML libraries besproken, zoals libraries voor SAX, DOM, SimpleXML en XPath. Ookwordt aandacht besteed aan het omgaan met JSON data met de JSON library functies. Het gebruik van reguliere expressies in PHP komt eveneens aan bod. Voortswordt aandacht besteed aan verschillende libraries voor database access waaronder PDO, PHP Data Objects. Database abstractie, transacties en SQL joins wordenbesproken. Verder passeren verschillende aspecten van security, zoals security threats, authenticatie en SSL, de revu. Een volgende module behandelt hoeinteractieve PHP Ajax webapplicaties kunnen worden ontwikkeld. Het XAJAX framework wordt hierbij besproken. In de module Web Services komen vervolgenszowel SOAP als REST services aan de orde. Tot slot wordt een overzicht gegeven van Design Patterns gegeven en worden een aantal design patterns in PHPapplicaties behandeld. In combinatie met de PHP100 cursus, PHP programmeren, behandelt deze cursus de eisen voor het Zend PHP Certification examen.

Module 1 : Classes and Objects Module 2 : Inheritance Module 3 : Exception Handling

Object Oriented ProgrammingClasses and ObjectsExample Class and ObjectsClass DefinitionCreating ObjectsEncapsulationData HidingPrivate DataConstructors and Destructors$this VariableDefault Field ValuesStatic MembersClass ConstantsObject ReferencesCloning Objects

InheritanceDerived ClassesAccessing the Base ClassConstructor VisibilityOverriding MethodsPseudo ConstantsFinal Classes and MethodsAbstract ClassesInterfacesImplementing InterfacesinstanceOf OperatorPolymorphismType HintingCatchable Type ErrorsPHP Object ModelPHP 7 New Features

Types of ErrorsExceptionsExceptions in PHPException HandlingException Handling ExampleException Handling RulesException ClassException SpecializationUser Defined ExceptionsMultiple catch ClausesStandard PHP ExceptionsMain Exception BranchesRunTime ExceptionsTurn Errors into Exceptions

Module 4 : XML and JSON Module 5 : Regular Expressions Module 6 : Database Access

PHP and XMLXML Extensions for PHPSimpleXMLLoad XML from File and StringReading Attributes and ElementsCreating XML DataDocument Object ModelDOM Navigation and ManipulationDOM ValidationSAX, Simple API for XMLSAX CallbacksUsing XPath in PHPXMLReaderPHP and JSONJSON SyntaxPHP JSON FunctionsEncoding JSONDecoding JSON

What are Regular Expressions?Simple Regular Expressions in PHPPHP Regular Expression FunctionsMeta CharactersQuantifiersCharacter ClassesRegular Expressions ExamplesRegular Expression ModifiersMatching Text with preg_matchMatching on Word BoundariesMatching Text with preg_match_allGreedinessGreedy and Non-Greedy QuantifierReplacing Text with preg_replaceSplitting Text with preg_splitSearching Text with preg_grep

Web Database ApplicationsPHP and Data AccessDatabase AbstractionWhat is PDO?PDO InstallationCreating ConnectionsClosing ConnectionsError InformationError Handling ModePDO Error RetrievalQuery ExecutionFetching ResultsDirect Query ExecutionSelect QueriesArray FetchingFetch ColumnPDO TransactionsPrepared StatementsCalling Stored Procedures

Module 7 : Security Module 8 : PHP and Ajax Module 9 : Web Services

Security IssuesRegister GlobalsSpoofed Form SubmissionsCross Site ScriptingPreventing Cross Site ScriptingSQL InjectionMagic QuotesHTTP Basic AuthenticationHTTP Digest AuthenticationSSL OverviewSSL HandshakesConfiguring SSL in Apache

What is Ajax?Classic Web Application ModelAjax Web Application ModelTypical Ajax InteractionsDrawbacks of AjaxCreating the XMLHttpRequestObject MethodsSending the RequestObject PropertiesXMLHttpRequest readyStateHandling the ResponsePHP and Ajax, XAJAX

What is a Web Service?RPC and Document InteractionREST versus SOAPWhat is SOAP?Structure SOAP MessageWhat is WSDL?Basic Structure WSDLWSDL and Code GenerationPHP SOAP ExtensionSimple SoapServiceWSDL for SoapServiceSoap ServicesSimple Soap ClientREST ServicesEverything an IdStandard HTTP MethodsContent NegotiationREST Clients

Module 10 : Design Patterns

What are Patterns?Singleton Pattern DefinedSingleton Pattern UsageAdapter PatternAdapter Pattern UsageFactory PatternsFactory Method PatternFactory Method UsageAbstract Factory PatternAbstract Factory UsageObserver PatternIterator PatternInfinite Iterator

PHP401: Cursus PHP Programmer CertificationCode: PHP401 Duur: 1 dag Prijs: € 499

Doelgroep Cursus PHP Programmer Certification Deze cursus is bedoeld voor ervaren PHP developers die zich willen voorbereiden op hetPHP Programmers examen.

Voorkennis Cursus PHPOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met Webdevelopment en PHP programmeren en Advanced PHP programmeren vereist.

Uitvoering Training PHP Programmer CertificationDe cursus heeft een hands-on karakter. De theorie wordt afgewisseld met praktischeoefeningen en demos. Verschillende proefexamens met test vragen voor het examenworden besproken. Het cursusmateriaal is in het Engels. De cursustijden zijn van 9.30 tot16.30.

Certificering PHPDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat PHPProgrammer Certification.

Inhoud Cursus PHP Programmer CertificationIn de cursus PHP Programmer Certification worden de onderwerpen die gevraagd wordenop het PHP 7 Programmers examen besproken aan de hand van test vragen. De cursus heeft ook als doel om een indruk te geven van wat men op het echte examenkan verwachten. De cursus is een examen training en programmeer oefeningen maken geen deel uit van het cursusprogramma. De deelnemers kunnen echter welexperimenteren met demo scripts waar bepaalde aspecten van het examen naar voren komen. Extra aandacht wordt besteed aan onderwerpen die vaak als moeilijkworden ervaren. De examen onderwerpen die op het programma staan zijn : PHP basis begrippen, Object Oriented Programming, de nieuwe zaken in PHP 7, streamI/O en network programming, het gebruik van functies en arrays, het werken met strings en reguliere expressies, het benaderen van databases en SQL, de toegangtot XML data en web services, security en tenslotte het gebruik van design patterns.

Exam Topic: PHP Basics Exam Topic: Functions Exam Topic: Data Format and Types

SyntaxOperatorsVariablesControl StructuresLanguage Constructs and FunctionsNamespacesExtensionsConfigPerformance/bytecode caching

ArgumentsVariablesReferencesReturnsVariable ScopeAnonymous Functions, closuresType Declarations

XML BasicsSimpleXMLXML ExtensionWebservices BasicsSOAPJSONDateTimeDOMDocument

Exam Topic: Web Features Exam Topic: Object Oriented Programming Exam Topic: Security

SessionsFormsGET and POST dataCookiesHTTP HeadersHTTP AuthenticationHTTP Status Codes

InstantiationModifiers/InheritanceInterfacesReturn TypesAutoloadReflectionType HintingClass ConstantsLate Static BindingMagic MethodsInstance Methods & PropertiesSPLTraits

ConfigurationSession SecurityCross-Site ScriptingCross-Site Request ForgeriesSQL InjectionRemote Code InjectionEmail InjectionFilter InputEscape OutputEncryption, Hashing algorithmsFile uploadsPHP ConfigurationPassword hashing

Exam Topic: I/O Exam Topic: Strings and Patterns Exam Topic: Databases and SQL

FilesReadingWritingFile System FunctionsStreamsContexts

QuotingMatchingExtractingSearchingReplacingFormattingPCRENOWDOCEncodings

SQLJoinsPrepared StatementsTransactionsPDO

Exam Topic: Arrays Exam Topic: Error Handling

Associative ArraysArray Iteration

Handling ExceptionsErrors

Array FunctionsSPL, Objects as arraysCasting

Throwables

PHP500: Cursus PHP Zend 2 Framework ProgrammerenCode: PHP500 Duur: 4 dagen Prijs: € 1999

Doelgroep Cursus PHP Zend 2 Framework Programmeren Ervaren PHP developers die de mogelijkheden van het Zend Framework willen leren.

Voorkennis Cursus PHP Zend 2 FrameworkUitgebreide kennis en ervaring met PHP development, waaronder object georiënteerdprogrammeren is vereist om aan deze cursus te kunnen deelnemen.

Uitvoering Training PHP Zend 2 Framework ProgrammerenDe concepten worden behandeld aan de hand van presentatie slides en demo’s. Detheorie wordt afgewisseld met oefeningen. Een moderne PHP IDE wordt gebruikt. Defocus ligt op het Zend Framework versie 2. De cursustijden zijn van 9.30 tot 16.30.

Certificering PHP Zend 2 Framework ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat PHPZend Framework Programmeren.

Inhoud Cursus Zend 2 Framework ProgrammerenIn de cursus PHP Zend 2 Framework Programmeren leren de deelnemers hoe het Zend 2Framework gebruikt kan worden bij de ontwikkeling van PHP Applicaties. Het ZendFramework is een open source PHP class library gericht op het vereenvoudigen vancomplexe PHP applicaties door het gebruik van standaard componenten. De cursus start met een overzicht van de ontwikkeling van PHP applicaties op basis van hetZend Framework en bespreekt de architectuur van het Zend Framework. De focus ligt op het Zend Framework versie 2. Het volgende onderwerp is het Model ViewController (MVC) design pattern dat een centraal element voor PHP applicaties op basis van het Zend Framework is. Aandacht wordt besteed aan de functie van deController component voor de routing van de requests en de control flow. Dit betreft ook input validatie, authenticatie, authorisatie en security best practices.Bovendien wordt de functie van de Model component besproken, met aandacht voor het benaderen van databases, caching van data en het versturen van mail. Ookde functie van de View component komt aan de orde en dat betekent aandacht voor Rich User Interfaces en Ajax functionaliteit. Tot slot staan de onderwerpeninternationalisering en Web Services op het programma. De onderwerpen die in de cursus worden behandeld zijn ook examen onderdelen voor het Zend FrameworkCertification examen. De cursus is geen examen training met direct voortbereiding op het examen, maar een training om het Zend Framework in PHP Development tegebruiken.

Module 1 : ZF Intro Module 2 : ZF MVC Module 3 : Event Managers

What is Zend Framework?ZF2 Key FeaturesZF2 ArchitectureZF2 Architecture and MVCZend-ToolDecouplingNamespacesAutoloadingProject StructureDeployment in Virtual HostFront ControllerRewrite ModuleZend Framework Control Flow

What is MVC?Design PatternsMVC Elements and ImplementationZF2 MVC: Event-Driven ArchitectureKey MVC EventsServices in MVCZend_Controller_FrontRequest RoutingAction ControllersModulesZend_ViewRendered ViewError Controller

EventsEvent TypesEvent ManagerTrigger EventsAvailable MethodsAggregatesShared Event ListenersIdentifiersShared Event ManagerModuleManager Events

Module 4 : MVC and Models Module 5 : Controllers Module 6 : Routing

Application StructureModules in MVCStructure of a ModuleBootstrapping Modular ApplicationMVC-related Module ConfigurationZend\ModuleManagerModuleManager ListenersAutoload Files for ModulesModule ClassesMVC ‘bootstrap’ EventModuleAutoloaderDefaultListenerAggregateModule Best Practices

Zend_Controller ComponentsRequest ObjectAccessing a Request and ResponseRequest Handing WorkflowRequest Object OperationsRequest Type CheckersZend_Controller_FrontDispatch LoopFront Controller ParametersMVC Events and ControllersMVC-based Action ControllersAbstractActionControllers InterfacesController PluginsRegistering Module-specific Listeners

Routing BasicsZF2 Router TypesZF2 HTTP Route TypesBase UrlStandard RouterUsing Rewrite RouterShipped RoutesDispatcherUsing _forwardAction HelpersPluginsView Scripts

Module 7 : View Layer Module 8 : Forms and Validation Module 9 : Database Access

Zend ViewView ModelLayoutsAlternate RenderingResponse StrategiesWhat are Layouts?Typical Layout

Zend InputFilterZend InputFilteringZend FormValidating FormsRendering FormsCreating Forms

Connecting to a databaseZend_DBQuery PreparationQuery ExecutionRunning an SQL QueryZend Db AdapterCreating an Adapter

Two Step View PatternSimple Layout templateZend_LayoutChanging LayoutsPartialsPartials ParametersPartials and PartialLoopPlace HoldersPartialLoop ModelPHP RendererView Helpers

Zend_Form_ElementsBase ClassesPluginsUtilitiesZend ValidatorValidatorsDecoratorsDecorating ProcessSub Forms

Creating StatementsZend Db SqlZend Db TableGatewayFetching ResultsChanging the Fetch ModeCRUD OperationsQuotingRetrieving MetaDataPrepared StatementsZend_DB_SelectTable and Row OO patterns

Module 10 : ZF Services Module 11 : ZF Security Module 12 : ZF Components

Service Manager (SM)Service TypesConfiguring ServicesWhat is a Web Service?Kinds of Web ServicesZF Soap ServicesZend_Soap ServerZend_Soap ClientXML-RPCXML-RPC in ZFJSON-RPCJSON-RPC in ZFRESTREST in ZFZend_Rest ServerZend_Rest Client

Security ConcernsAuthenticating with Zend_AuthZend_Auth AdaptersAuthenticating ResultsPersisting IdentitiesCustomized StorageDatabase Table AuthenticationZend_Auth Adapter_DbTableBasic and Digest AuthenticationHTTP Authentication AdapterLDAP AdapterZend_ACLAccess Control ListsRoles and Resources

Components Zend FrameworkZF Component DependenciesZend Core and ComponentsWhy ZF ComponentsZend_PaginatorZend_Config_IniZend_RegistryZend_PdfZend MailZend_LogZend_Locale

PHP550: Cursus Laravel Framework ProgrammerenCode: PHP550 Duur: 4 dagen Prijs: € 1999

Doelgroep Cursus Laravel Framework Programmeren PHP developers die robuste en onderhoudbare Web Applications willen ontwikkelen methet Laravel PHP Framework.

Voorkennis Cursus Laravel FrameworkErvaring met PHP Programmeren en Web Development met PHP is vereist om aan dezecursus te kunnen deelnemen.

Uitvoering Training Laravel Framework ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Certificering Laravel Framework ProgrammingDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatLaravel Framework Programming.

Inhoud Cursus Laravel FrameworkIn deze cursus leren de deelnemers moderne PHP applicaties te bouwen met het state ofthe art Laravel Framework. Laravel heeft zich de laatste jaren ontwikkeld tot een van demeest populaire PHP frameworks. Dit is te danken aan het gebruiksgemak, de expressieve syntax, het dependency injection mechanisme en de rechtstreeksinzetbare componenten. In de cursus leert u Laravel te installeren en een omgeving to prepareren voor applicatie ontwikkeling. Aan de orde komen Laravel’s routingarchitecture , het opvangen van requests en het genereren van responses. Ook Laravels Model View Controller architecture en Forms en validatie worden daarbijbesproken. Vervolgens wordt aandacht besteed aan database access in Laravel en Object Relational Mapping met Laravel’s ORM Eloquent. Tenslotte komen ookgevanceerde onderwerpen zoals authenticatie en security aan bod. Aan het eind van de cursus heeft u verschillende cases studies met Laravel doorlopen en kunt urobuste Web sites met Laravel maken.

Module 1 : Laravel Intro Module 2 : Routing Module 3 : Controllers and Filters

What is Laravel?Laravel InstallationCreating a Laravel projectLaravel Structure OverviewProject StructureFacadesMVC PatternDependency InjectionRoutingAnnotationsLavarel VersionsIntroducing ComposerUsing Homestead

Laravel Request LifecycleBasic RoutingRoute ParametersRestricting ParametersHandling HTTP ExceptionsReturning ResponsesViewsView DataRedirectsCustom ResponsesResource ControllersBlade Templates

Creating ControllersController RoutingController to CommandCommand to EventQueued Event HandlersNested ControllersRoute CachingRESTful ControllersBasic FiltersMultiple FiltersFilter ClassesGlobal FiltersPattern Filters

Module 4 : Forms and Validation Module 5 : Database Access Module 6 : Eloquent ORM

Master TemplateForms and form tagText and labelsButtonsClosing the FormSecurityValidationRulesError MessagesCustom RulesCustom MessageGenerating Framework URLSGeneration Shortcuts

AbstractionConfigurationPreparingCreating TablesColumn TypesSpecial Column TypesColumn ModifiersUpdating TablesDropping TablesSchema TricksBasic ConceptCreating MigrationRolling BackMigration Tricks

Creating new modelReading Existing ModelsUpdating Existing ModelsDeleting Existing ModelsQueriesPreparationEloquent to stringQuery StructureMagic QueriesQuery ScopesRelationshipsImplementing RelationshipRelating and Querying

Module 7 : Rest API Module 8 : Authentication and Security

Rest ServicesResource ID’sCreate and UpdateRead and DeleteList PaginationModel BindingNested ControllersBeyond CRUDNested UpdateNested Create

Authenticating usersUser modelAuthenticating routesAuthenticating viewsValidating user InputAvoiding mass assigmentCross Site ScriptingCross Site Request ForgerySQL InjectionForcing HTTPS

PHP580: Cursus Symfony Framework ProgrammerenCode: PHP580 Duur: 4 dagen Prijs: € 1999

Doelgroep Cursus Symfony Framework Programmeren PHP developers die robuste en onderhoudbare Web Applications willen ontwikkelen methet Symfony PHP Framework.

Voorkennis Cursus Symfony FrameworkErvaring met PHP Programmeren en object georienteerd programmeren met PHP isvereist om aan deze cursus te kunnen deelnemen.

Uitvoering Training Symfony Framework ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Certificering Symfony Framework ProgrammingDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatSymfony Framework Programming.

Inhoud Cursus Symfony FrameworkIn deze cursus leren de deelnemers moderne PHP applicaties te bouwen met het state ofthe art Symfony Framework. Symfony heeft zich de laatste jaren ontwikkeld tot een van demeest populaire PHP frameworks. Dit is te danken aan het gebruiksgemak, de goede performance, het dependency injection mechanisme en de rechtstreeksinzetbare componenten. In de cursus leert u Symfony te installeren en een omgeving to prepareren voor applicatie ontwikkeling. Aan de orde komen Symfony’srouting architecture, het opvangen van requests en het genereren van responses. Hierbij wordt ook aandacht besteed aan de Twig templates en templateinheritance. Vervolgens wordt ingegaan op de Doctrine Object Relational Mapping implementatie waarmee PHP classes en hun relaties worden opgeslagen in dedatabase. Symfony biedt veel faciliteiten voor Forms en ook deze worden uitgebreid besproken. Hierbij komt ook form validatie aan de orde. Vervolgens wordtingegaan op service classes, de service architecture en het registreren van services bij de container. Eveneens wordt ingegaan op de security faciliteiten die Symfonyte bieden heeft, zoals authentication en authorization met de User Entity class. Verder komen ook gevanceerde onderwerpen zoals de kernel van Symfony, hetingrijpen op de routering en de implementatie van dependency injection aan bod. Tenslotte is er aandacht voor de creatie van een Rest API met Symfony. Aan heteind van de cursus heeft u een uitgebreide cases study met Symfony doorlopen en bent u in staat robuste Web applicaties met Symfony maken.

Module 1 : Symfony 3 Intro Module 2 : Bundles Module 3 : Data Access

Why Symfony?Installing SymfonyConsole commandsNamespacesController and RouteHow bright is the future?InstallationComposer and PackagistInstalling Symfony via ComposerThe road mapChecking the installation

Request and Response Life CycleAnatomy of a bundleGenerating a new bundleBest practicesCustom bundles versus AppBundleCreating templates with TWIGController/View interactionConditional templatesMake it dynamicInstalling bundlesCreating data fixturesLoading data fixturesDefining and prioritizing features

Database configurationsGenerating an entityWhat is Object Relational MappingEntity ClassesUsing doctrineInserting new ObjectsAdding ColumnsUpdating Table SchemaDatabase MigrationsMigrations WorkflowNullable Columns

Module 4 : Caching in Symfony Module 5 : Presentation Layer Module 6 : Security in Symfony

Caching in SymfonyDefinition of a cacheCharacteristics of a good cacheCaches in a Symfony projectKey players in theReverse proxy cacheSet expiration for dashboard pageValidation strategyExpiration stategiesValidation strategiesDoctrine cacheESI for selective cachingSophisticated bundles

Asset managementHow templates are organizeNavigate or not to navigateWhat is Bootstrap?MopaBootstrapBundleBootstrap configurationCreating menusRendering the menuDashboard templateOverriding templatesProfile-related templatesChanging the backend logo

AuthenticationAuthorizationUser ClassDashboard and SecuritySecurity is organizationAuthenticationAuthorizationFOSUserBundleSecurity settingsAdding FOSUserBundleAdding routes

Module 7 : Testing Module 8 : Forms and Validation Module 9 : Rest API

TDD and BDD with CodeceptionCreating a functional testDeveloping the missing codeCreating the unit testsSetting up the databaseRecreating the database for testCreating unit testsWriting code to pass test

Form InputFilteringValidating FormsRendering FormsCreating FormsSave and RedirectsetFlash and DanceFlash Messages

What is REST?Rest ServicesResource ID’sREST Web ServicesSimple REST ExamplesREST Web Service PrinciplesMultiple RepresentationsEmbedded Path Parameters

Running functional and unit testsOn the CI side of the story

UtilitiesValidatorsDecoratorsDecorating ProcessSub Forms

Common REST PatternsResources URI AccessJavaScript Object Notation (JSON)

PHP600: Cursus WordPress Web DevelopmentCode: PHP600 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus WordPress Web Development Deze cursus is bestemd voor personen die WordPress willen gebruiken voor het ontwerpvan een Web site of Web Applicatie.

Voorkennis Cursus WordPressOm aan deze cursus te kunnen deelnemen is geen specifieke voorkennis vereist.Algemene kennis over Web applicaties en ervaring met computers is wenselijk.

Uitvoering Training WordPress Web DevelopmentDe theorie wordt besproken aan de hand van presentatie slides. Demo’s worden gebruiktom de behandelde concepten te verduidelijken. Gedurende de cursus ontwikkelen dedeelnemers aan de hand van oefeningen in een aantal stappen een WordPress Web sitemet veel gebruikte functionaliteit. De cursustijden zijn van 9.30 tot 16.30.

CertificeringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatWordPress Web Development.

Inhoud Cursus WordPress Web DevelopmentIn de cursus WordPress Web Development leren de deelnemers hoe het open sourceContent Management Systeem WordPress kan worden gebruikt om verschillende soorten websites te ontwikkelen. De cursus begint met het downloaden eninstalleren van WordPress vanuit het niets en het creëren van een Home page. Vervolgens wordt het beheers gedeelte van de WordPress installatie, het Dashboard,verkend. De verschillende typen content die in WordPress kunnen worden aangemaakt worden eveneens besproken. De deelnemers zullen leren over pages, blogs,posts, categories, products, comments, forms en andere WordPress items. De algemene layout en de look en feel van een site wordt bepaald door het theme van desite en de deelnemers zullen leren hoe ze themes kunnen vinden, selecteren en installeren. Dan wordt aandacht besteed aan de directory structuur op de webserver, de belangrijke configuratie bestanden en hoe deze bestanden kunnen worden benaderd met behulp van het File Transfer Protocol (FTP). Een WordPressinstallatie kan extra functionaliteit krijgen door het gebruik van plugins. Tal van plugins zijn beschikbaar op het internet, vele zijn gratis, voor anderen moet je eenlicentie kopen. Het vinden en installeren van plugins wordt besproken en met name wordt er aandacht besteed aan een Theme plugin, een IP Blocker plugin, eenMulti Language plugin en een plugin voor Search Engine Optimalisatie (SEO).

Module 1 : WordPress Intro Module 2 : Using the Dashboard Module 3 : Content types

What is WordPressContent Management SystemsDomain namesHosting OptionsDownload WordPressInstalling WordPressDirectory PermissionsSecuring PasswordsUser Management

WordPress User InterfaceUsing DashboardMedia and Content AdministrationWordPress SettingsWordPress as Blog and WebsiteConverting sitesWordPress as CMSOther Uses

Pages and TagsPosts Versus PagesOrganizing with CategoriesConnecting Posts with TagsCustom Post TypesCustom TaxonomiesManaging Lists of LinksWordPress EditorsImage EditorAdding Video MediaAdding Audio Media

Module 4 : WordPress themes Module 5 : Configuration Module 6 : Plugins

What are Themes?Structure of ThemesStyling and CSSInstalling ThemesConfiguring ThemesCustomizing ThemesTheme FrameworksParent-Child ThemesTheme Best Practices

Server Directory Structurewp-config.phpwp-login.phpwp-adminwp-contentwp-includesWP-DBManagerDatabase MaintenanceCommon WordPress ProblemsFixing Common Database Issues

Whats are Plugins?Finding PluginsUsing PluginsInstalling PluginsUpgradingRecommended PluginsTheme PluginSEO PluginMulti Language Plugin

PHP700: Cursus Joomla Web DevelopmentCode: PHP700 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Joomla Web Development Deze cursus is bestemd voor personen die Joomla willen gebruiken voor het ontwerp vaneen Web site of Web Applicatie.

Voorkennis Cursus JoomlaOm aan deze cursus te kunnen deelnemen is geen specifieke voorkennis vereist.Algemene kennis over Web applicaties en ervaring met computers is wenselijk.

Uitvoering Training Joomla Web DevelopmentDe theorie wordt besproken aan de hand van presentatie slides. Demo’s worden gebruiktom de behandelde concepten te verduidelijken. Gedurende de cursus ontwikkelen dedeelnemers aan de hand van oefeningen in een aantal stappen een Joomla Web site metveel gebruikte functionaliteit. De cursustijden zijn van 9.30 tot 16.30.

Certificering Joomla Web DevelopmentDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatJoomla Web Development.

Inhoud Cursus Joomla Web DevelopmentIn de cursus Joomla Web Development leren de deelnemers het Joomla ContentManagement Systeem, CMS, te gebruiken voor het opzetten van een complete web site. De cursus gaat uit van de meest recente versie van Joomla. Hiervoor is geenkennis van programmeren nodig. Aan de orde komt hoe in Joomla onderdelen in elkaar gezet en aan elkaar gekoppeld worden. Aandacht wordt besteed aan decomponenten zoals secties, artikelen, banners, advertenties, afbeeldingen en categorieën. En ook komt aan de orde hoe je menu’s koppelt in Joomla en items enbeschrijvingen toevoegt. Joomla kan worden uitgebreid met extensies die op vele plaatsen beschikbaar zijn en al dan niet tegen vergoeding de functionaliteit kunnenuitbreiden. Een aantal van deze extensies passeert de revu. Verder worden templates besproken die een bepaalde structuur in Joomla componenten aanbrengen enkomen ook modules aan bod. Tenslotte is er aandacht voor allerlei kwesties met betrekking tot de configuratie van Joomla. Na het doorlopen van deze cursus kunnende deelnemers geheel zelfstandig een web site opbouwen met Joomla.

Module 1 : Joomla Intro Module 2 : Content Types Module 3 : Menu’s

Wat is Joomla?Hoe werkt Joomla?Joomla installerenFrontend en BackendHome-pageTaal instellenInhoud toevoegenArtikel toevoegenMenu koppeling toevoegen

Secties en categorieënSecties creërenCategorieën creërenSecties en categorieën toekennenAdvertentiesNieuwe pagina’s makenAfbeelding toevoegenPagebreakBannersContactenEnquêteZoeken

Menu’sMenu-items toevoegenWeergave sectieWeergave categorielijstDetails instellenBeschrijving toevoegenMain MenuVolgorde menu-items wijzigenNiveau menu-item wijzigenPositie submenu wijzigenMenu-item verwijderenMeerdere menu’sExterne koppelingScheidingsruimte toevoegen

Module 4 : Joomla Templates Module 5 : Modules Module 6 : Configuratie

Wat zijn Templates?Templates downloadenTemplates installerenTemplates wijzigenMeerdere templates gebruikenLogo Joomla template wijzigenMailPrivéberichtGroepsmail

Wat zijn modules?Module toevoegenAangepaste HTMLLoginSyndicateWillekeurige afbeeldingWat zijn Parameters?Instellen globale parametersInstellen individuele parameters

Algemene instellingenTabblad WebsiteTabblad SysteemTabblad ServerWYSIWYG-editorFrontendgebruikersFrontend registratieAccountgegevens bewerkenToegangsniveau wijzigenBackendgebruikersAanmakenToegangsniveausMediabeheerArtikelen toevoegen en verwijderenMappen toevoegen en verwijderen

PHP800: Cursus Drupal Web DevelopmentCode: PHP800 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Drupal Web Development Deze cursus is bestemd voor personen die Drupal willen gebruiken voor het ontwerp vaneen Web site of Web Applicatie.

Voorkennis Cursus DrupalOm aan deze cursus te kunnen deelnemen is geen specifieke voorkennis vereist.Algemene kennis over Web applicaties en ervaring met computers is wenselijk.

Uitvoering Training Drupal Web DevelopmentDe theorie wordt besproken aan de hand van presentatie slides. Demo’s worden gebruiktom de behandelde concepten te verduidelijken. Gedurende de cursus ontwikkelen dedeelnemers aan de hand van oefeningen in een aantal stappen een Drupal Web site metveel gebruikte functionaliteit. De cursustijden zijn van 9.30 tot 16.30.

CertificeringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatDrupal Web Development.

Inhoud Cursus Drupal Web DevelopmentIn de cursus Drupal Web Development leren de deelnemers het Drupal ContentManagement Systeem, CMS, te gebruiken voor het opzetten van een complete web site. De cursus gaat uit van Drupal versie 7. Hiervoor is vrijwel geen kennis vanprogrammeren nodig. Developers kunnen met de Drupal API echter nog functionelere applicaties ontwikkelen. Aan de orde komt hoe een typische site is gebouwd inDrupal en hoe het pagina model van Drupal in elkaar zit. De deelnemers leren de betekenis en het gebruik van de verschillende componenten in Drupal zoals fields,views, modules, nodes, blocks en pages. De cursus begint met het installeren van Drupal en er wordt een eerste site gebouwd en de bijbehorende modulesuitgekozen. Vervolgens wordt ingegaan op de layout met blocks en regions waarbij ook default blocks en custom blocks aan bod komen. Ook de content types inDrupal waaronder PAGES en ARTCLES, waarop fields van verschillend type worden geplaatst komen aan de orde. De deelnemers leren tevens wat taxonomies zijn,hoe je kunt werken met vieuws, themes en input forms. Tenslotte wordt aandacht besteed aan een aantal geavanceerde onderwerpen zoals web services met XML-RPC. Na het doorlopen van deze cursus kunnen de deelnemers geheel zelfstandig een web site opbouwen met Drupal.

Module 1 : Drupal Intro Module 2 : Drupal Core Module 3 : Layout and Files

What is Drupal?CMS SystemsDrupal terminologyContent Management FrameworkWeb Application FrameworkModules and ThemesNodes and BlocksDrupal WorkflowBootstrapHooks and CallbacksInstalling Drupal

Admin InterfaceCreating and Managing ContentSite Building and ConfigurationUser ManagementOut of the Box ModulesCore RequiredCore Optional-enabledCore Optional-disabledUser Contributed ModulesPopular ModulesModule selection and evaluation

Layouts in DrupalBlocks and RegionsDefault BlocksCustom BlocksConfiguring BlocksEnabling Default BlocksControlling the Front PageFile SystemDownload MethodsFile ModuleImage Module

Module 4 : Fields Module Module 5 : Taxonomies Module 6 : Drupal VIEWS

Custom Content TypesThe PAGE and the ARTICLEInput FiltersField PermissionsAdding Fields to Content-TypesText FieldsNumeric FieldsLink and Image FieldsField GroupsNode ReferenceManage Display SettingsDisplay Formats

What is taxonomy?Working with TaxonomyVocabulariesRequired VocabularyControlled VocabularySingle and Multiple TermsAdding TermsView Content by TermStoring TaxonomiesModule-Based Vocabularies

Overview of VIEWSVIEW TypesDefault ViewsOverridden ViewsNormal ViewsDisplaysBasic SettingsDisplay TypesBasic SettingsFields vs NodeFilters and Arguments

Module 7 : Themes Module 8 : Forms Module 9 : Advanced Topics

Theme System ArchitectureTheme TemplatesThe .info fileTheme EngineHooksCreating a ThemeInstalling a ThemeTheme InheritanceModifying Base ThemesCustom StylesheetsOverriding Theme Behavior

Forms with Webforms moduleThe Form APIForm ProcessingValidationForm SubmissionRedirectionCreating Basic FormsCustom Module BasicsEnabling the Custom Form ModuleAccessing the Custom FormForm API Properties

Rules with the Rules moduleCommon FunctionsRelationshipsXML-RPCWhat is XML-RPC?XML-RPC ClientsA Simple XML-RPC Server

PRG100: Cursus Programmeren voor BeginnersCode: PRG100 Duur: 4 dagen Prijs: € 1999

Doelgroep Cursus Programmeren voor Beginners Deze cursus is bedoeld voor personen die de beginselen van het progammeren willenleren en die toe te passen in een willekeurige taal en platform.

Voorkennis Cursus ProgrammerenOm aan deze cursus te kunnen deelnemen is geen specifieke voorkennis vereist.Algemene kennis over en ervaring met computers is wenselijk.

Uitvoering Training Programmeren voor BeginnersDe theorie wordt besproken aan de hand van presentatie slides. Demo’s worden gebruiktom de concepten te verduidelijken. De theorie wordt afgewisseld met oefeningen waarineenvoudige programmeer problemen worden opgelost. De cursustijden zijn van 9.30 tot16.30.

Certificering Cursus Programmeren voor BeginnersDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatProgrammeren voor Beginners.

Inhoud Programmeren voor BeginnersIn de cursus Programmeren voor Beginners komen de basis beginselen van hetprogrammeren aan de orde aan de hand van een programmeer taal. De taal staat in deze cursus niet centraal maar je hebt nu eenmaal een taal nodig om in teprogrammeren. Voorop staat de methodiek van het gestructureerd programmeren. Eenvoudige problemen worden geanalyseerd en omgezet in instructies in deprogrammeer taal. De deelnemers leren het formuleren van een probleem in Nassi Schneiderman diagrammen en Data Flow diagrammen. Aandacht wordt besteedaan het schrijven van programma’s in source code en het vertalen van deze code met compiler en linker tot executeerbare binaire code. Ook leren zij overstatements, operatoren, variabelen, constanten en data types en over control flow constructies zoals branching met if, then, else, select, case en iteraties met while,for, do while, break en continue. Hergebruik van code komt aan de orde bij de behandeling van functies. Zowel het aanroepen van functies uit een library als het zelfschrijven van functies wordt besproken. Hierbij wordt het verschil uitgelegd tussen call-by value en call-by reference. Tenslotte komen pointers aan de orde waarmeein geheugen kan worden gewezen en door het geheugen kan worden gewandeld. Na het doorlopen van de cursus zijn de deelnemers in staat kleine programma’s teschrijven waarmee programmeer problemen worden opgelost. Ze zullen niet op de hoogte zijn van alle ins en outs van de taal want dat is niet de opzet van dezecursus.

Module 1 : Intro Programming Module 2 : Variables and Data Types Module 3 : Control Flow

Structured ProgrammingAnalyzing ProblemsNassi-Schneiderman DiagramsData Flow DiagramsC Programming LanguageSource codeC CompilersBinary codeHexadecimal NotationLinkersIDE Environments

VariablesVariable NamesBasic Data TypesSigned and Unsigned TypesConstantsNumeric ConstantsCharacter ConstantsString ConstantsSymbolic ConstantsArraysCharacter Arrays

Control Flow ConstructsStatements and blocksDecisionsAmbiguity of elseelse-if constructionswitch and casecase StatementsExit from switchwhile Loopfor Loopdo while Loopbreak And continuegoto And Labels

Module 4 : Operators Module 5 : Functions Module 6 : Pointers

OperatorsArithmetic OperatorsRelational OperatorsLogical OperatorsIn- and Decrement OperatorsAssignment OperatorsUnary OperatorConditional Operatorssizeof Operator

FunctionsDeclaration and DefinitionParameter PassingCall by ValueRecursionRecursion Characteristics

PointersVariables and AddressesUse of PointersPointer DeclarationInitializing PointersPointers to VariablesPointer DereferencingPointer AssignmentPointers as ArgumentsPointers and ArraysArrays in Function CallsAddress Arithmeticnull Pointer

PRG200: Cursus C ProgrammerenCode: PRG200 Duur: 5 dagen Prijs: € 2200

Doelgroep C Cursus Deze cursus is bedoeld voor programmeurs die in C willen leren programmeren ofanderen die C code willen begrijpen.

Voorkennis Opleiding CEr is geen voorkennis van programmeren vereist om aan deze cursus te kunnendeelnemen. Ervaring met programmeren in een andere taal is echter wel bevorderlijk vooreen goede begripsvorming.

Uitvoering Training C ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Illustratieve demo’s worden gebruikt voor de begrippen te verhelderen. Decursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat C ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat CProgrammeren.

Inhoud van de C TrainingDe cursus C Programmeren behandelt de basis principes van de programmeertaal C. Naeen inleiding over de achtergrond en kenmerken van C en de functie van de preprocessor, de compiler en de linker, wordt de structuur van C programma’sbesproken. In een reeks op elkaar volgende oefeningen leren de deelnemers te programmeren met de variabelen, data types, storage classes, operatoren en controlflow constructies van de C taal. Vervolgens wordt het gebruik van functies C behandeld. Er wordt uitgelegd hoe functies worden gedeclareerd en gedefinieerd en hoeparameters aan functies worden doorgegeven. Het verschil tussen de doorgifte van parameters by value en by reference wordt daarbij besproken. Ruime aandachtwordt ook besteed aan het pointer concept, het rekenen met pointers, de gelijkwaardigheid tussen pointers en arrays en het gebruik van functie pointers. Vervolgensgaat de aandacht uit naar door de developer gedefinieerde samengestelde data structuren, zoals structures en unions. Tenslotte wordt de C standaard librarybesproken, waarbij de functies worden behandeld voor het benaderen van files, voor het omgaan met datum en tijd, voor het manipuleren van strings en voor dedynamische allocatie van geheugen.

Module 1 : Intro C Language Module 2 : Variables and Data Types Module 3 : Control Flow

C Programming LanguageC LibraryC CharacteristicsC ProgramsFirst C ProgramC CompilersLinkersIDE Environments

VariablesVariable NamesBasic Data TypesSigned and Unsigned TypesConstantsNumeric ConstantsCharacter ConstantsString ConstantsEnumeration ConstantsSymbolic ConstantsArraysCharacter ArraysComposed Data Types

Control Flow ConstructsStatements and blocksDecisionsAmbiguity of elseelse-if constructionswitch and casecase StatementsExit from switchwhile Loopfor Loopdo while Loopbreak And continuegoto And Labels

Module 4 : Operators Module 5 : Functions Module 6 : Storage Classes

OperatorsArithmetic OperatorsRelational OperatorsLogical OperatorsIn- and Decrement OperatorsAssignment OperatorsBitwise OperatorsBitwise or OperatorsShift OperatorsUnary OperatorConditional OperatorsType Conversionssizeof Operator

FunctionsDeclaration and DefinitionParameter PassingCall by ValueRecursionRecursion Characteristics

Storage Class SpecifiersAutomatic VariablesExternal VariablesStatic VariablesRegister VariablestypedefScopeInitializationArray Initialization

Module 7 : Preprocessor Directives Module 8 : Pointers Module 9 : Structures and Unions

C Preprocessor#include directive#define directiveMacro’s with argumentsConditional InclusionMultiple Inclusion .h FilesHeader Files

PointersVariables and AddressesUse of PointersPointer DeclarationInitializing PointersPointer ExamplesPointers to VariablesPointer DereferencingPointer Assignment

StructuresStructure DefinitionVariables of Structure TypeAccessing StructuresNested StructuresStructure InitializationStructures and PointersPointers as Structure MembersStructures and Functions

Pointers as ArgumentsExchange FunctionExchanging Data in VariablesPointers and ArraysArrays in Function CallsAddress Arithmeticnull PointerCharacter PointersCommand Line ArgumentsPointers to Functions

Structure ArraysAccessing Structure Arrayssizeof Structure ArraysBitfield Structurestypedef And StructuresUnionsUnion Member AccessType Fields in Structures with UnionsPitfalls C Language

Module 10 : Standard C Library

Standard C LibraryFile I/O FunctionsFile Open FunctionAccess ModesFile Read and Write FunctionFile Handling Functionsscanf Function ParametersOperation of scanfCharacteristics scanfUtility FunctionsFlow Control Functionssystem FunctionASCII to Binary FunctionsString to Long FunctionBinary to ASCII FunctionMemory Management FunctionsEnvironment FunctionSort and Search FunctionTime and Date Functions

PRG202: Cursus Advanced C ProgrammerenCode: PRG202 Duur: 3 dagen Prijs: € 1400

Doelgroep Cursus Advanced C Deze cursus is bedoeld voor C developers die zich willen verdiepen in de meergeavanceerde functies en technieken van de taal C.

Voorkennis Cursus Advanced COm aan deze cursus deel te nemen is kennis van en ervaring met programmeren in Cvereist.

Uitvoering Training Advanced CDe theorie wordt behandeld aan de hand van presentatie slides. Illustratieve demo’sworden gebruikt om de behandelde concepten te verduidelijken. Er is voldoendegelegenheid om te oefenen en afwisseling van theorie en praktijk. De cursustijden zijn van9.30 tot 16.30.

Officieel Certificaat Advanced C ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAdvanced C Programmeren.

Inhoud Cursus Advanced C ProgrammerenIn de cursus Advanced C Programmeren worden geavanceerde aspecten van deprogrammeertaal C behandeld, waaronder het gebruik van modules en interfaces, object georiënteerd programmeren en encapsulation in C. Ook wordt aandachtbesteed aan de potentiële gevaren die bepaalde constructies in C hebben, zoals C macro’s, evaluatie volgorde en het gebruik van globals. Verder komt het gebruikvan verschillende pointer technieken aan de orde evenals het gebruik van pointers naar functies. De meest voorkomende dynamische datastructuren zoals arrays,linked lists, hash tables en trees en hun implementatie in C worden eveneens in detail besproken. En ook wordt aandacht besteed aan optimalisatie technieken voorwat betreft executie snelheid en geheugen gebruik. Verder staan de meer geavanceerde functies van de C library zoals setjmp, longjmp, signals, bsearch en qsortetc. op het programma. Tot slot is er aandacht voor bit manipulatie en geavanceerde string handling en parsing.

Module 1 : C Pitfalls Module 2 : Object Orientation in C Module 3 : Pointers and Arrays

C StandardsPitfalls C LanguageWrite Clean CodeGood Programming StyleRules for FunctionsDeep versus Flat CodeEvaluation OrderAvoid MacrosWithout constUsing constCode ReuseAvoid GlobalsPre and Post ConditionsInvariantsCode Smells

Object OrientationClasses and ObjectsExample Class and ObjectsObject Orientation in CSimple Objects in CC versus C++Class Constructor in CMember Functions in CEncapsulationEncapsulation in CPublic Function Members in CInheritanceExtending C++ ClassesVirtual FunctionsVirtual Function TablePolymorphism

Pointers RevisitedPointer ArithmeticPointers and ArraysFunction PointersOptional AmpersandVariable Length ArgumentsVarargs ExampleArray InitializationArray TraversalArrays of StructsArrays versus PointersMultidimensional ArraysIndices in 3d ArrayDynamic ArraysDynamic Array AccessRagged Arrays

Module 4 : Data Structures in C Module 5 : Bit Manipulation Module 6 : C Standard Library

Dynamic Data StructuresSingly Linked ListsLinked List Element TypeCreating List ElementsAdding ElementsDoubly Linked ListsDoubly Linked List TypeStacks and QueuesHash TablesHash Table OperationLoad FactorHash FunctionsOpen Address Hash TablesTreesRecursive traversalIterative traversal

Bit ManipulationBitwise OperatorsBitwise ANDBitwise ORBitwise XORBitwise NOTBitshift OperatorsBit ShiftingBitwise Assignment OperatorsBit RotationBitFlag Functions

What are Signals?ANSI C-Signal TypesHandling SignalsSIGABRT HandlingSEGV HandlingSEGFPE Handlingsetjmp and longjmpCoroutinesatexit Functionassert Functionperror FunctionRaising SignalsAlarm Signal

Module 7 : String Handling

Looking for CharactersLooking for SubstringsCount Matching CharactersLooking for Character SetsString Comparison

String TokenizingConvertion Strings to NumbersHandling Conversion Errorsqsort and BsearchAdvanced String Handling

PRG300: Cursus C++ ProgrammerenCode: PRG300 Duur: 5 dagen Prijs: € 2200

Doelgroep C++ Opleiding Deze cursus is bedoeld voor developers die in C++ willen leren programmeren enanderen die C++ code willen begrijpen.

Voorkennis voor de Cursus C++Om aan deze cursus te kunnen deelnemen is kennis van en ervaring met programmerenin C vereist.

Uitvoering Training Cursus C++De theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Illustratieve demo’s worden gebruikt om de behandelde begrippen teverduidelijken. De cursustijden zijn van 9.30 tot 16.30.

Certificering C++De deelnemers krijgen na het goed doorlopen van de training een officieel certificaat C++Programmeren.

Inhoud van de Training C++In de cursus C++ Programmeren leren de deelnemers programmeren in de C++programmeertaal. Aan de orde komen de C++ 11 en de C++ 14 standaard. Eerst wordende verschillen tussen C en C++ besproken voor wat betreft declaraties van variabelen, formatted output met de stream IO library, namespaces, function overloadingen default function parameters. Vervolgens wordt aandacht besteed aan de nieuwe C++ reference variabelen. Zowel Lvalue als Rvalue references wordenbesproken. Een belangrijk onderdeel van de cursus is het C++ class concept en de C++ implementatie van object georiënteerde principes als abstraction enencapsulation. Ook wordt aandacht besteed aan dynamische geheugen allocatie met new en delete en de rol van assignment operators en copy en moveconstructors. Ook speciale kenmerken van classes, zoals statics, friends en iterators worden besproken. Vervolgens staan ook de object georiënteerde principes vaninheritance en polymorfisme op het programma. Daarbij komen de concepten van virtual functions, v-tables, dynamic binding en abstract classes ter sprake. In C++ ishet mogelijk om standaard operatoren een andere betekenis te geven en dit fenomeen wordt besproken in de module operator overloading. Vervolgens komenbelangrijke kenmerken van de C++ standard library aan bod zoals de String class en de principes van C++ templates en de Standard Template Library (STL). Tot slotwordt aandacht besteed aan exception handling en hoe dit is geïmplementeerd in C++.

Module 1 : Intro C++ Module 2 : Variables and Types Module 3 : References

Intro C++C++ TimeLineComments in C++Namespace stdOutput and Error StreamStandard Input Streamcin and StringsFormatted OutputVariable DeclarationScope Resolution OperatorInline FunctionsDefault Function ArgumentsOverloading FunctionsRange based for loop

Standard TypesType InferenceAuto KeywordDeduction with decltypeInitializationNull Pointer ConstantEnumerationsStrongly Types EnumsVariable ScopeNamespacesUsing keywordUsing DirectiveBlock UsageUser Defined LiteralsRaw String LiteralsStorage Classesconst Qualifierconst Pointers

ReferencesReference InitializationReferences and PointersRvalues and Rvalues in CRvalues and Rvalues in C++Reference to ConstantPassing ReferencesComparison Parameter PassingReferences as Return ValuesPotential ErrorReturning lvalueReturning Reference to GlobalRvalue ReferencesRvalue Reference SyntaxComparing Reference TypesRvalue Reference Usage

Module 4 : Classes Module 5 : Dynamic Memory Allocation Module 6 : Inheritance and Polymorphism

Classes and ObjectsExample Class and ObjectsClasses in C++New Data Type in CClass DeclarationFormal Class Declaration SyntaxClass SectionsConstructor and DestructorUniform InitializationHeader and Sources FilesClass ImplementationClass UsageAdvantages Access FunctionsReferences to private Datathis Pointerstatic MembersConstant ObjectsMember ObjectsComposition Example

Dynamic Memory Allocationnew Operatordelete OperatorDynamic ArraysClasses with Pointer DataAssignment OperatorSelf-Assignment ProblemChained AssignmentsAssignment and InitializationInitialization with Copy ConstructorCopy ConstructorsPassing ObjectsReturning ObjectsPassing References to ObjectsMove ConstructorMove SemanticsMove Assignment OperatorPerfect ForwardingDelegating Constructors

InheritanceType Relations in C and C++Derived Classes in C++Class HierarchyRedefining Member FunctionsCalling Redefined MembersDerived Class ConstructorsBase – Derived Class ConversionPointer ConversionsVirtual FunctionsPolymorphismDynamic BindingVirtual Function ImplementationVirtual Function TablePure Virtual FunctionsAbstract ClassesMultiple InheritanceDuplication of Data MembersVirtual Derivation

Friends

Module 7 : Operator Overloading Module 8 : Exception Handling Module 9 : Templates

Operator OverloadingOverloading for Numeric TypesComplex Type ExampleOverloading RulesOverloading RestrictionsNot Overloadable OperatorsWhen not to OverloadNumeric Class OverloadingFraction Class ExampleOperators as FriendUnary Overloading Operator

Exception Handling in C++Memory Exhaustion HandlingException Handling PrinciplesThrowing Exceptionstry Blockcatch HandlersDivision By Zero ExampleBenefits Exception HandlingMultiple catch HandlersTemplate Array ClassExceptions Array ClassMatchingcatch Orderthrow List

What are Templates?Need for TemplatesTemplate FunctionsTemplate SpecializationTemplate SyntaxTemplate Function UsageUsing Function TemplatesTemplate Parameter ListClass TemplatesTemplate Member FunctionsImplementing Member FunctionsTemplate Class UsageTemplate Parameter ScopeTemplate Function StaticsTemplate Class StaticsInclusion Compilation ModelTemplates and Friends

Standard Template LibraryWhy STL?STL Core ComponentsSTL Library ComponentsSTL ContainersSequential ContainersVector ContainerDeque ContainerList ContainerSTL IteratorsSTL AlgorithmsSTL AllocatorsSLT PairsSTL OperatorsSTL Header Files

PRG303: Cursus Advanced C++ ProgrammerenCode: PRG303 Duur: 3 dagen Prijs: € 1400

Doelgroep Cursus Advanced C++ Programmeren Deze cursus is bedoeld voor developers die bekend zijn met C++ maar die zich willenverdiepen in de meer geavanceerde technieken en mogelijkheden van de taal.

Voorkennis Cursus Advanced C++Om aan deze cursus deel te nemen is kennis van de basis concepten van C++ enuitgebreide ervaring met programmeren in C++ vereist.

Uitvoering Training Advanced C++De theorie wordt behandeld aan de hand van presentatie slides. Illustratieve demo’sworden gebruikt om de behandelde concepten te verhelderen. Er is een sterke afwisselingvan theorie en praktijk en ruime gelegenheid om te oefenen. De cursustijden zijn van 9.30tot 16.30.

Officieel Certificaat Advanced C++De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAdvanced C++ Programmeren.

Inhoud Cursus Advanced C++ ProgrammerenIn de cursus Advanced C++ komen geavanceerde aspecten van de C++ taal aan de orde.De algemene structuur van de STL en het gebruik ervan in de praktijk wordt behandeld. Er wordt aandacht besteed aan de details van containers, iterators enalgoritmen. Bovendien komen geavanceerde STL features zoals function objects, binders, comparators en adapters aan de orde. De cursus behandelt ook de meergeavanceerde mogelijkheden van C++ zoals de overloading van operators als -> -> * en (), member templates en pointers naar member functies. Daarnaast wordt indetail gekeken naar de interne werking van smart pointers, een techniek die het mogelijk maakt om objecten te alloceren zonder ze expliciet op te moeten ruimen. Decombinatie van smart pointers met STL en het gebruik van hash tables en function objects wordt ook belicht bij de behandeling van de geavanceerde aspecten vanSTL.

Module 1 : Templates Review Module 2 : STL Intro Module 3 : Iterators and Algorithms

Templates reviewTemplate specializations and partial specializationsNon-type template parametersDefault template parametersTemplate member functions

Introduction to the STLPurpose and structure of the STLContainersAlgorithmsIteratorsContainer classificationCharacteristics and content

Iterator classification and behaviorGeneric algorithms and iteratorsDesign of generic algorithmsReverse iteratorsIostream iterators

Module 4 : STL Containers Module 5 : Adapters Module 6 : Operator Overloading

VectorsMapsHash MapsStrings BitsetsFunction objectsPredicates, and comparators

Container adaptersIterator adaptersFunction adaptersIterator traits and tagsAdapting existing code to STL

Advanced Operator OverloadingFunctors Or Function ObjectsPointers To Member FunctionsMember TemplatesReference Counting

Module 7 : Smart Pointers

Smart PointersSmart Pointers and STL

PRG400: Cursus Python ProgrammerenCode: PRG400 Duur: 4 dagen Prijs: € 1750

Doelgroep voor de Opleiding Python ProgrammerenDeze cursus Python programmeren is voor developers en systeembeheerders die willenleren programmeren in Python en andere personen die Python code willen begrijpen.

Voorkennis voor de Training Python ProgrammerenKennis en ervaring met programmeren is niet strikt noodzakelijk om deel te nemen aandeze cursus. Ervaring in C, C#, Java, Perl of Visual Basic is bevorderlijk voor een goedebegripsvorming.

Uitvoering Training PythonDe theorie in de cursus Python wordt behandeld aan de hand van presentatie slides.Illustratieve demo’s verduidelijken de concepten. De theorie wordt afgewisseld metoefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificaat Python ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatcursus Python Programmeren.

Inhoud van de Python CursusIn deze cursus leren de deelnemers te programmeren in de object georiënteerde scripttaal Python. Python is een taal die vaak wordt gebruikt voor installatie scriptsen voor prototypes van grote applicaties. Na een inleiding over de installatie en de verschillende manieren om scripts uit te voeren, worden de basisbegrippen zoalsdeclaraties, variabelen en control flow structures besproken. Ook wordt aandacht besteed aan de collection structures, zoals Lists, Tuples en Dictionaries. Vervolgenswordt de focus gericht op het gebruik van functies met de verschillende methoden van parameter passing, zoals by value en by reference. Ook de scope vanvariabelen en lambda functies worden hierbij besproken. Vervolgens wordt aandacht besteed aan de opdeling van Python software in modules en komt het gebruikvan namespaces en packages aan de orde. Voorts wordt object georiënteerd programmeren met classes en objects in detail behandeld. In dit opzicht wordenconcepten als encapsulation, inheritance en polymorphism belicht. Ook de afhandeling van fouten in scripts met behulp van exception handling komt aan de orde.Eveneens staat de functionaliteit van diverse Python library functies voor het benaderen van files op het programma. Voorts komen iterators aan de orde die lazyevaluation mogelijk maken waarbij een object pas wordt gegenereerd als het nodig is, evenals generators en coroutines waarmee concurrent geprogrammeerd kanworden. Ook wordt ingegaan op decorators waarmee functionaliteit zoals caching en proxying, aan bestaande functies en classes kan worden toegevoegd. Tevenswordt aandacht besteed aan database access met de Python Database API. Het gebruik van diverse libraries voor de interactie met XML data wordt behandeld entenslotte wordt aandacht besteed aan verschillende libraries voor Reguliere Expressies, networking, unit testing en date and time. De verdieping op deze cursus is decursus Advanced Python Programmeren.

Module 1 : Python Intro Module 2 : Variables and Data Types Module 3 : Data Structures

What is Python?Python FeaturesHistory of PythonGetting StartedSetting up PATHEnvironment VariablesRunning PythonCommand Line OptionsInteractive ModeScript ModeIdentifiersReserved WordsCommentsLines and IndentationMulti Line StatementsQuotes

VariablesMultiple AssignmentData TypesPython NumbersNumerical TypesNumber Type ConversionsConversion FunctionsBuilt-in Number FunctionsPython StringsString Operators and OperationsEscape CharactersString FormattingTriple QuotesRaw and Unicode StringsBuilt-in String Functions

Sequences and ListsAccessing and Updating ListsMultidimensional ListsList OperationsList Functions and MethodsTuplesAccessing Values in TuplesUsage of TuplesTuple FunctionsBytes and Byte ArraysSets and DictionariesDictionary CharacteristicsAccessing Values in DictionariesUpdating DictionariesProperties of Dictionary KeysNon Mutable KeysDictionary Methods

Module 4 : Control Flow and Operators Module 5 : Functions Module 6 : Modules

Control Flow Constructsif Statementelse Statementelif StatementNested ifwhile LoopInfinite while Loopfor LoopIterating by Sequence Indexbreak Statementcontinue StatementLoop with else Combinationpass StatementPython OperatorsOperator Precedence

FunctionsFunction SyntaxCalling FunctionsPass by ValuePass by ReferenceOverwriting ReferencesFunction ArgumentsKeyword ArgumentsDefault ArgumentsVariable Length ArgumentsAnonymous FunctionsSyntax Lambda Functionsreturn StatementScope of Variables

Modulesimport Statementfrom…import StatementLocating ModulesCreating and Using Modulesdir FunctionPython PackagesExplict Import ModulesImplicit Import ModulesNamespaces and Scopingglobals and locals Functionsreload FunctionNamespaces and ScopingTest Harnass

Module 7 : Classes and Objects Module 8 : Excepting Handling Module 9 : Python IO

Object OrientationCreating ClassesClass MembersCreating and Using ObjectsAccessing AttributesProperty SyntaxBuilt-in Class AttributesConstructors and DestructorsEncapsulationInheritanceOverriding MethodsClass MethodsOperator OverloadingPolymorphism

Unexpected ErrorsException HandlingTyped Exception HandlingException Handling with Elseexcept Clause Multiple ExceptionsStandard Exceptionstry-finally ClauseExample try-finallyException ArgumentsRaising ExceptionsExample raising ExceptionsUser Defined Exceptions

Input and OutputIO ModuleOpening FilesFile Open ModesResult of Calling openFile Object AttributesReading Binary FilesWriting Binary FilesReading Text FilesWriting Text FilesFile PositionsRenaming and Deleting FilesDirectory MethodsCreating Directories

Module 10 : Comprehensions Module 11 : Generators Module 12 : Decorators

What are comprehensions?Lambda OperatorFilterReduce and MapFunctional ProgrammingGenerator comprehensionsList comprehensionsDictionary comprehensionsSet comprehensions

What are Iterators?Lazy evaluationyielding versus returningitertools moduleWhat are Generators?Generator expressionsBidirectional communicationChaining generatorsCoroutines

What are Decorators?Tweaking original objectReplacing original objectDecorators on classesDecorators on functionsCopying the docstringExamples in libraryDeprecation of functionswhile-loop removing decoratorPlugin registration system

Module 13 : Python Database Access Module 14 : Python and XML Module 15 : Python Libraries

Python DB APIDB API ConceptsCheck Database VersionUsing withInserting DataPrepared StatementsLast inserted row idRetrieving DataFetching RowsDictionary CursorParameterized QueriesMetadataTransactions

XML ParsingXML TechnologiesXML Processing OptionsPython XML LibrariesThe XML DOMBuilding a DOM treeNode Interface ModelDOM NavigationDOM ManipulationSimple API for XMLSAX OperationSAX CallbacksXML Parsing ModelsPull versus Push ParsingXPathXPath expressionsXPath axes

Regular Expressionsmatch FunctionMatching versus SearchingSearch and ReplaceNetwork LayeringTCP/IP LayeringConnectionless ServicesConnection Oriented ServicesSocket utility functionsAsynchronous ServersUnit TestingUnit Test ExampleDate and Time HandlingTime Tuplestruct-timetime ModuleCalendar Functions

PRG404: Cursus Advanced Python ProgrammerenCode: PRG404 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Advanced Python Deze cursus is bedoeld voor Python developers die meer willen weten over de Pythontaal en die zich willen bekwamen in geavanceerde aspecten van Python.

Voorkennis PythonOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met programmerenin Python vereist.

Uitvoering Training PythonDe theorie wordt behandeld aan de hand van presentatie slides. Illustratieve demo’sverduidelijken de concepten. De theorie wordt afgewisseld met oefeningen. Decursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Advanced Python ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAdvanced Python Programmeren.

Inhoud Cursus Advanced Python ProgrammerenIn de cursus Advanced Python komen geavanceerde aspecten van de programmeertaalPython aan de orde die de development van Python software vereenvoudigen enversnellen. Zo komen modules and packages aan de orde en leren deelnemers packages te uploaden en installeren in een virtuele omgeving. Aandacht wordtbesteed aan het benaderen van XML en JSON data en wordt besproken hoe logging kan worden geimplementeerd in Python programma’s. Voorts komen iteratorsaan de orde die lazy evaluation mogelijk maken, evenals generators en coroutines waarmee concurrent geprogrammeerd kan worden. Tevens wordt ingegaan opdecorators waarmee functionaliteit zoals caching en proxying, aan bestaande functies en classes kan worden toegevoegd. In de module patterns wordt de Pythonimplementatie van verschillende Design Patterns behandeld en wordt vervolgens aandacht besteed hoe deze in de Python Library zijn geimplementeerd. Verderwordt aandacht besteed aan geavanceerde features zoals meta programming. Vervolgens wordt ingegaan op de creatie van processes en threads, synchronisatietussen threads en het optimaliseren van de performance van Python code. Vervolgens wordt interproces communicatie door middel van sockets en pipes besproken.Tenslotte komt unit en mock testing aan bod in het kader van test automation.

Module 1 : Modules and Packages Module 2 : XML en JSON Access Module 3 : Logging

Creating modulesinit_py and importingLoad and use modulesRole of Python pathPut modules into packagesDistribution of PackagesInstalling packagespip installUsing Python Package indexPyPI commandsUploading package with setupCreating a virtual environment

XML parsingPull versus Push parsingPython XML LibrariesDOM and SAXMinidomElementTreeReading and Writing XMLSearching and Validating XMLXML ManipulationJSON libraryDictionary to JSON conversionLoading and Dumping JSON

Importance of LoggingPython loggingLogger ObjectsLog levelsHandler objectsFormattersFiltersLogRecord ObjectsLogRecord AttributesLog AdaptersModule level functions

Module 4 : Generators and Decorators Module 5 : Patterns in Python Module 6 : Meta Programming

What are Iterators?Lazy evaluationyielding versus returningitertools moduleWhat are Generators?Generator expressionsBidirectional communicationChaining generatorsCoroutinesWhat are Decorators?Tweaking original objectReplacing original objectDecorators on classesDecorators on functionsExamples in libraryDeprecation of functionswhile-loop removing decorator

EFAP principleSingletonsSingleton variantsnull Objectsnull versus NoneProxiesProxy examplesObserverPublish and subscribeConstructorPythonic principlesDependency injectionsFactoriesDuck typingMonkey patchingCallbacks

What are meta classes?Default meta classDynamic classesCreating classesCreating objectAdding base classesAdding fieldsAdding methodsMeta class hookExamining ObjectsIntrospection

Module 7 : Threads and Processes Module 8 : Networking Module 9 : Unit Testing

Multiple Processesos moduleForking processesExec functionsMultiple threadsTypes of threads

Network LayeringTCP/IP LayeringUDP versus TCPTCPv4 versus TCPv6 socketsConnectionless ServicesConnection Oriented Services

unittest moduleTest casesAssert statementsTest fixturesSetup and TeardownTest suites

Kernel threads and user threadsthreading moduleCreating threadsGlobal Interpreter Lock (GIL)Thread classManaging threadsThread synchronizationLocking and joiningUsing queuesOptimization strategiesCachingPsyco JIT Compiler

Socket utility functionsAsynchronous ServersUsing pipesAnonymous pipesNamed pipes

Test runnersCommand Line InterfaceTest harnassTest discoverySkipping testsTest automationMocking

PRG440: Cursus C++ 11Code: PRG440 Duur: 1 dag Prijs: € 599

Doelgroep C++ 11 Cursus Administrators, developers en testers die shell scripts in een Linux/Unix omgeving willenleren schrijven en begrijpen.

Voorkennis Opleiding C++ 11Algemene kennis van computers en operating systems is vereist. Ervaring metprogrammeren is bevorderlijk voor een goede begripsvorming.

Uitvoering Training C++ 11De theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Certificering C++ 11De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat LinuxShell Scripting.

Inhoud Cursus C++ 11In deze hands-on cursus wordt het schrijven van shell scripts in een Linux/Unix omgevingbehandeld. Diverse shells zoals de Bourne, C, Korn en Bash shell komen aan de orde ener wordt ingegaan op de verschillen tussen deze shells. U leert scripts te schrijven en te combineren met script commands, special characters, I/O redirection enpipes. Ook leert u de input van users in scripts te verwerken met command line parameters, options en redirection. Eveneens wordt aandacht besteed aan controlflow en het lezen en schrijven van files. Het aanroepen en schrijven van functions, het doorgeven van parameters en het opvangen van return values staat eveneensop het programma. Voorts komende sed batch-editor, waarmee het editen van een tekstfile automatisch afgehandeld kan worden, en de awk report-generator aan orde. Tenslotte wordt ingegaan opeen aantal advanced scripting onderwerpen.

Module 1 : C++11 Intro Module 2 : Useability Enhancements Module 3 : Functionality Improvements

C++ TimelineC++ 11 FeaturesType InferenceAuto KeywordDeduction with decltypeDeducing return TypesInitializationUniform InitializationInitializer ListsInitialization PrioritiesRange Based for LoopNull Pointer ConstantStandard TypesStrongly Types EnumsUser Defined LiteralsRaw String LiteralsC++11 Compiler SupportC++14 Features

RValue ReferencesLValues and RValues in CLValues and RValues in C++RValue Reference SyntaxComparing Reference TypesRValue Reference Usagestd::moveMove ConstructorMove SemanticsMove versus Copy ConstructorMove Assignment OperatorPerfect ForwardingDelegating Constructors

Lambda FunctionsLambda SyntaxLambda Usageconstexpr Keywordoverride Specifierfinal SpecifierStatic AssertsVariadic TemplatesRecursive AnalogyAlias TemplatesSmart Pointersauto_ptrauto_ptr Ownershipshared _ptr Pointershared_ptr Destruction Policyshared_ptr InterfaceCyclic Referencesunique_ptrweak_ptr

Module 4 : Standard Library Changes

New Thread LibraryLaunching ThreadsThreadID’sDetaching ThreadsCallables as Thread FunctionData CorruptionSynchronization MechanismsMutexDeadlockAutomatic Lock ManagementThreading APIPromises and FuturesRegular ExpressionsRandom NumbersTime UtilitiesNew Containers

PRG450: Cursus Django Web DevelopmentCode: PRG450 Duur: 3 dagen Prijs: € 1499

Doelgroep Django Web Development Cursus De cursus Django Web Development is bedoeld voor developers die dit Frameworkwillen gebruiken voor het maken van Web Applicaties in Python.

Voorkennis PythonOm aan deze cursus te kunnen deelnemen is kennis van Web applicaties en kennis enervaring met programmeren in Python vereist.

Uitvoering Training Django Web DevelopmentDe stof wordt behandeld op basis van presentatie slides. Demos worden gebruikt om detheorie te verduidelijken. Tijdens de cursus is er ruime gelegenheid tot oefenen. Decursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Django Web DevelopmentDe deelnemers krijgen na het goed doorlopen van de training een officieel certificaatDjango Web Development.

Inhoud Cursus Django Web DevelopmentIn de cursus Django Web Development leren de deelnemers dit Web ApplicatieFramework te gebruiken voor het ontwikkelen van Python Web Applicaties. Eerst wordteen overzicht gegeven van de architectuur van het framework, hoe het kan worden geinstalleerd en hoe de de Admin applicatie kan worden gebruikt. Vervolgenswordt ingegaan op het MVT pattern en hoe Models worden gemapped op de database. Hierbij komen de verschillende Field types en de data access API aan deorde. Ook Views en URL’s passeren de revu waarbij ingegaan wordt op het gebruik van reguliere expressies bij het mappen naar views. Vervolgens wordt hetgebruik van templates bij de opbouw van views aan de orde gesteld. Daarna is het de beurt aan de creatie van Forms voor het opvangen van de input van degebruiker. Ook wordt aandacht besteed aan de validatie van Forms en het gebruik van de zogeheten ModelForms die afgeleid zijn van Model classes. Vervolgenswordt uitgebreid ingegaan op Object Relational Mapping en de performance optimalisatie bij het benaderen van de database. Tenslotte staan een aantalgeavanceerde onderwepen op het programma zoals authenticatie, het werken met de REST Services en Unit Testing. Tegen het einde van de cursus hebben dedeelnemers een complete Applicatie gebouwd die voorzien is van een REST interface.

Module 1 : Django Intro Module 2 : Django Models Module 3 : Views and URL’s

What is Django?Django HistoryFramework FeaturesPython CGI ScriptMVC Design PatternCreating ProjectsProject SettingsProject URL’sRunning ProjectTesting ProjectAdmin ApplicationSetup DatabasesActivate Admin SiteResources

ModelsMapping ModelsCreate ApplicationCreate ModelsMigrationsSQL for ModelsThree Step Migration PracticeData Access APIString RepresentationFieldsField TypeCreating ObjectsAccessing ObjectsEnabling Admin InterfaceCustomize Admin InterfaceCustomize Admin FormAdding Related Objects

What are Views?View BasicsURL MappingRoot URLConfDjango MVT PatternURL ArgumentsURL Utility FunctionsNon-Named Group MatchingNamed GroupsPassing Extra OptionsReturning ErrorsView FunctionsMapping to ViewsHTTP Request ObjectHTTP Response Objectredirect Shortcutget_object_or_404

Module 4 : Django Templates Module 5 : Django Forms Module 6 : Django Security

The Template SystemTemplatesTemplate VariablesCreating TemplatesShortcut Functionsrender_to_repsonse Shortcutrender ShortcutContext Variable LookupList in TemplateTemplate TagsIf TagFor TagFiltersTemplate InheritanceChild TemplatesAutoescapeLoading TemplatesClass Based ViewsSpecialized Views

Form LibraryForm ObjectsUsing Form in ViewProcessing Form DataForm UsageDisplay Form using TemplateDisplay using ParagraphsDisplay using TableValidating FormsCustomize Form TemplateRendering Error MessagesLooping over Form FieldsRendering FormsCore Fields ArgumentModelFormsModel and FormCustomize Model Forms

Web Security EssentialsBad Practices Web SecuritySecurity FeaturesCross Site ScriptingXSS ProtectionCross Site Request ForgeryCSRF ProtectionClickjacking ProtectionSQL Injection ProtectionCookies and FilesEmail Header InjectionDjango AuthenticationAuthenticating UsersPermissions and AuthorizationAuthentication in Web Requests

Module 7 : Django REST Module 8 : Advanced Topics

What is REST?REST ServicesREST ExamplesResource URI’sREST challengesDjango SolutionsIncludesInstalling DRFCore ComponentsDjango CounterpartsBuilding our Demo APICustomizingResources

SessionsSession SupportMessages FrameworkUsing MessagesSending EmailPistonEmittersTestingUnit TestingORM advancedAggregation and annotationReporting/Data analysis applicationDatabase performance profilingSignals to denormalise

PRG460: Cursus Rust ProgrammerenCode: PRG460 Duur: 3 dagen Prijs: € 1750

Doelgroep Cursus Rust Programmeren Deze cursus is bedoeld voor developers die in Rust willen leren programmeren enanderen die Rust code willen begrijpen.

Voorkennis ProgrammerenErvaring met programmeren in moderne programmeertaal is wenselijk en is bevorderlijkvoor een goede begripsvorming.

Uitvoering Training Rust ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

CertificeringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat RustProgrammeren.

Inhoud Cursus RustRust is een nieuwe, praktische systeem programmeertaal die razendsnelle code oplevert.Rust is community driven. Met Rust voorkom je vrijwel alle crashes en data races. Rustborduurt voort op een rijke geschiedenis van programmeer talen. Het is low-level taal met meerdere paradigmas, zowel imperatief als functioneel en Rust richt zichop veilige, high-performance, concurrent applicaties. Rust begon al voor de officiële 1.0 versie mei 2015 momentum in de industrie te krijgen, want er bestaat eenduidelijke behoefte aan een nieuwe low-level systeem taal. In deze cursus wordt behandeld wat Rust zo uniek maakt en wordt dit toegepast op praktische problemenvan systeem programmering Onderwerpen die aan de orde zullen komen zijn : traits, generics; memory safety (move semantics, borrowing and lifetimes). En ook hetrijke macro-systeem van Rust, closures en concurrency komen aan de orde.

Module 1 : Rust Intro Module 2 : Variables and Data Types Module 3 : Expressions and Flow Control

What is Rust?Rust BackgroundComparions to CRust ApplicationsHello RustCommentsFormatted PrintingDebug and DisplayLiteralsOperators

PrimitivesTuplesArraysSlicesCustom TypesEnumsConstantsVariable BindingsScopeShadowingCastingLiteralsInferenceAlias

ExpressionsFlow Controlif elseloopNesting and labelswhilefor and rangematchGuards and bindingif letwhile let

Module 4 : Functions Module 5 : Modules Module 6 : Generics

MethodsClosuresCapturingAs Input ParametersInput FunctionsType AnonymityAs Output ParametersExamples from stdIterator::anyIterator::findHigher order Functions

VisibilityStruct Visibilityuse DeclarationUsing superUsing selfFile HierarchyCratesAttributesExtern crateDead CodeCfgCustom

FunctionsImplementationsTraitsBoundsMultiple BoundsWhere ClausesAssociated ItemsAssociated TypesPhantom Type ParametersUnit Clarification

Module 7 : Scoping and Lifetimes Module 8 : Traits Module 9 : Standard Library

RAIIOwnership and MovesFunctions and MethodsMutabilityBorrowingFreezingAliasingref PatternLifetimesExplicit AnnotationBoundsCoercion

DeriveOperator OverloadingDropIteratorsCloneDesignatorsOverloadRepeatUnsafe Operations

Box, stack, heapData StructuresVectorsStringsHashmapThreads ChannelsPathFile I/OPipesWaitArgumentsMeta

StaticElison

PRG500: Cursus Ruby ProgrammerenCode: PRG500 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Ruby Deze cursus is bedoeld voor ervaren developers die de scripttaal Ruby willen leren.

Voorkennis Cursus Ruby ProgrammerenKennis en ervaring met programmeren in een andere programmeertaal, zoals C, C++, C#,Visual Basic, Java of Perl is gewenst.

Uitvoering Training Ruby ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metpraktische oefeningen. Illustratieve demo’s zorgen voor een verdere verduidelijking vande concepten. De cursustijden zijn van 9.30 tot 16.30.

Certificering Ruby ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat RubyProgrammeren.

Inhoud Cursus RubyIn deze cursus leren de deelnemers programmeren in Ruby aan de hand van de syntaxen taalconstructies van deze scripttaal. Na een introductie over de achtergronden vanRuby, de installatie en de wijze waarop Ruby code kan worden uitgevoerd, komen devariabelen, data types en control flow aan de orde. Ook is er aandacht voor methods en parameter overdracht en voor de object georiënteerde aspecten zoalsclasses, objects, inheritance en polymorfisme. Daarnaast komt ook het afhandelen van fouten door middel van exception handling ter sprake. Vervolgens wordtingegaan op het indelen van code in modules, modules als namespaces en mixins evenals op het gebruik van modules uit de standard library. Ook closures zoalsblocks, lambda’s en Procs komen aan de orde en er wordt ingegaan op Meta Programming met introspection, Open Classes en dynamic method invocation.Tenslotte komt het schrijven van Ruby Gems aan bod en wordt een overzicht gegeven van de mogelijkheden van de Standard library.

Module 1 : Ruby Intro Module 2 : Variables and Data Types Module 3 : Control Flow

What is Ruby?Ruby TimelineObject OrientationInstallationInteractive RubyRuby ExecutionLoading Ruby CodeNaming ConventionsExecuting External ProgramsRuby BlocksResources

Numbers and Big NumbersStrings and String LiteralsString InterpolationArraysHashRangeRegExpStructTypes of VariablesNaming ConventionsConstantsLocal VariablesInstance VariablesClass VariablesGlobal VariablesPre-defined Variables

StatementsAssignmentAssignment operatorsConditionalsMultiple Selectionwhile Loopuntil Loopfor Loopeach IterationAritmetic operatorsComparison operatorsRuby truthEqualityLogical Operators

Module 4 : Methods and Parameters Module 5 : Classes and Objects Module 6 : Exception Handling

Method DefinitionsInvoking MethodsMethods and ParenthesisReturn valuesDefault value argumentVariable Argument ListArray ArgumentHash ArgumentMethods with Code BlockMethod with BangAliasing Methods

Classes and ObjectsExample Class and ObjectObjects in RubyRuby ClassesClass SyntaxCreating ObjectsObject InitializationGetters and SettersAttribute AccessorsCurrent ObjectClass VariablesClass MethodsMethod VisibilitySingleton MethodsInheritanceOverridingMethod LookupDuck TypingOperator Overloading

Error HandlingException HandlingRaising ExceptionsHandling ExceptionsException ClassException Class HierarchyTyped Exception HandlingEnsure BlockRetry CommandException HandlingThrow and CatchRaising ExceptionsUser Defined Exceptions

Module 7 : Modules Module 8 : Closures Module 9 : Meta Programming

ModulesModule ImportingFiles without Namespacing

What are Closures?Benefits of ClosuresLambdas

What is Introspection?Introspection CodeWhat is Meta Programming?

Modules for NamespacingNamespacesMixinsMixin ExampleInclude versus ExtendMixins and Inheritance ChainModules versus ClassesComparable ModuleEnumerable Module

Lambdas with ParametersProcsProc and LambdaProcs versus LambdasProc as Argument and ReturnProc Objects as ClosureWhat are Blocks?Representing BlocksCalling Blocks with YieldPassing ArgumentsAmpersand OperatorFrom Proc to Block

Classes are OpenClass Definition are ExecutableReceiversClasses are ObjectsDynamic Method InvocationMethod MissingInvoking method_missingdefine_methodHooksEvaluating CodeDynamic Typing

Module 10 : Ruby Gems Module 11 : Ruby Standard Library

What are Gems?About RubyGemsCreating GemsHello World Gemgemspec fileInstalling and Using the GemPublish the GemGrabbing the GemAdding CodeMultiple FilesRakeRake DemoWriting TestsSimple TestDocumenting CodeUsing RdocWhat is Bundler?Using Bundler

Standard Library OverviewFilesAccessing FilesFile Open ModesReading and WritingDirectoriesDate and TimeXML AccessDOM ParsingSAX ParsingMultiThreading

PRG500: Cursus R ProgrammerenCode: PRG500 Duur: 3 dagen Prijs: € 1350

Doelgroep Cursus R Programmeren Big Data analisten en wetenschappers die R willen gebruiken voor het genereren vanstatische analyses.

Voorkennis Cursus RAlgemene kennis statistiek is vereist. Ervaring met programmeren is bevorderlijk voor eengoede begripsvorming.

Uitvoering Training R ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. R-Studio wordt gebruikt als ontwikkelomgeving. De theorie wordtafgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Cursus R ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat RProgrammeren.

Inhoud Cursus R ProgrammerenIn deze cursus leert u programmeren in de taal R en hoe u R kunt gebruiken vooreffectieve data-analyse en visualisatie. R is uitgegroeid tot een standaard platform voorgegevens analyse en het maken van grafieken en kan een enorme reeks statistische procedures uitvoeren die niet beschikbaar zijn in andere statistischeprogramma’s. U leert in de eerste plaats hoe R te installeren en te configureren. Vervolgens komen de data types van R, zoals vectors, arrays, matrices, lists, dataframes en factors aan de orde. Aandacht wordt besteed aan het gebruik van R library functies en de creatie van user defined functions. Tevens komt control flow in Rmet de family van apply functies aan bod. De cursus behandelt ook statistische analyse modellen zoals lineaire en niet-lineaire modellen, variable transformaties enregressies en het lezen en manipuleren van data in R. Tenslotte wordt aandacht besteed aan packages in R en het grafisch displayen en plotten van data in R. Tertoelichting worden demonstratieve voorbeelden uit de statistische gegevens analyse gebruikt.

Module 1 : Intro R Module 2 : Data Types Module 3 : Functions

Overview of RHistory of RInstalling RThe R CommunityR DevelopmentR ConsoleInput and EvaluationR SyntaxR ObjectsUsing R PackagesSingle Mode Data StructuresMulti Mode Data Structures

R ObjectsR AttributesVectorsArraysMatricesListsData FramesFactorsDates and TimesNames AttributeMissing ValuesTabular Data

Using R FunctionsFunctions for Numeric DataLogical DataMissing DataCharacter DataWriting FunctionsScoping RulesSymbol BindingErrors and WarningsChecking InputsThe EllipsisChecking Multivalue InputsUsing Input Definition

Module 4 : Control Flow Module 5 : R Models Module 6 : Data Handling

If-elseFor loopsWhile loopsRepeatNext, BreakRepetitive TasksFamily of apply Functionsapply Functionlapply Functionsapply Functiontapply Function

Statistical Models in RSimple Linear ModelsAssessing a Model in RMultiple Linear RegressionInteraction TermsFactor Independent VariablesVariable TransformationsR and Object OrientationGeneralized Linear ModelsNonlinear ModelsSurvival AnalysisTime Series Analysis

R DatasetsData.FramesImporting CSV FilesRelational DatabasesWorking with Text FilesWorking with ExcelSortingAppendingMergingDuplicate ValuesRestructuringData Aggregation

Module 7 : Packages Module 8 : Graphics and Plotting

Why R Packages?Package StructureCode QualityAutomated DocumentationExtending R PackagesDeveloping a Test FrameworkIncluding Data in PackagesIncluding a User GuideSimulation and ProfilingThe str Function

Graphics Devices and ColorsHigh-Level Graphics FunctionsLow-Level Graphics FunctionsGraphical ParametersControlling the LayoutSimulating a Linear ModelRandom SamplingQuick Plots and Basic ControlChanging Plot TypesAestheticsPanelingCustom Plots

Themes and Layout

PRG505: Cursus Ruby on Rails ProgrammerenCode: PRG505 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Ruby on Rails Programmeren Deze cursus is bedoeld voor developers die willen werken met het state of the artframework Ruby on Rails.

Voorkennis Ruby on Rails ProgrammerenOm aan deze cursus te kunnen deelnemen is ervaring met programmeren in Ruby ofkennis van Ruby vereist. Kennis van web standaarden zoals HTTP en HTML isbevorderlijk voor de begripsvorming.

Uitvoering Training Ruby on RailsDe theorie wordt besproken aan de hand van presentatie slides. De concepten wordengeïllustreerd met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijdenzijn van 9.30 tot 16.30.

Certificering Ruby on Rails ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Rubyon Rails Programmeren.

Inhoud Cursus Ruby on RailsIn de cursus Ruby on Rails worden de deelnemers opgeleid tot Rails ontwikkelaars. Railsis een framework voor het pragmatisch ontwikkelen van een full-blown webapplicatie. Het framework is gebaseerd op de Model Driven ontwerp paradigma. Eerst debelangrijkste kenmerken van de Ruby programmeertaal besproken. Deze kennis is nodig om te kunnen ontwikkelen zonder al te veel problemen met de rails. Nadeze inleiding, de aandacht is volledig gericht op de Rails-framework. De hele Rails stack (model, view en controller) wordt in extenso behandeld. Vervolgensworden alle belangrijke kwesties voor de succesvolle bouw van een Rails applicatie op de agenda staan, zoals Active Record, Actie View en Controller.

Module 1 : Rails Intro Module 2 : Rails and REST Module 3 : Active Record

Introducing RubyInstalling Ruby on RailsRails Environments and ConfigurationRails Routing

REST (Representational State Transfer), Resources and RailsControllers

Active RecordActiveRecord MigrationsActive Record AssociationsValidationsAdvanced Active Record

Module 4 : Rails Actions Module 5 : Security Module 6 : Performance

Action ViewHelpers (Advanced)Rails and AJAX

Session ManagementAuthentications and UserControlXML and Active ResourceAction Mailer

Caching and Performance (Advanced)Logging and TroubleshootingRSpec and Rails APIPluginsBatch and Background Processing

PRG600: Cursus Perl ProgrammerenCode: PRG600 Duur: 3 dagen Prijs: € 1350

Inhoud Perl Programmeren Cursus Systeembeheerders, webmasters en developers die willen leren programmeren in Perl ofdie Perl code willen begrijpen.

Voorkennis Cursus Perl ProgrammerenKennis en ervaring met programmeren is niet strikt noodzakelijk om deel te nemen aandeze cursus, maar is wel bevordelijk voor een goede begripsvorming.

Uitvoering Training Perl ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Illustratieve demo’s zorgen voor verdere verduidelijking van de begrippen. Decursus behandelt de onderwerpen van het CIW Perl examen (1D0-437). De cursustijdenzijn van 9.30 tot 16.30.

Officieel Certificaat Perl ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat PerlProgrammeren.

Inhoud Cursus Perl ProgrammerenIn deze cursus worden de principes van de programmeertaal Perl besproken. Na eeninleiding over de kenmerken van Perl, modules en het gebruik van Perl in praktijk, wordt getoond hoe Perl scripts worden uitgevoerd. Vervolgens wordt aandachtbesteed aan de Perl syntax en het gebruik van scalar types, variabelen, operatoren en control structures. Ook Perl data structures als arrays, lists en hashes wordenbesproken. De interactie tussen Perl scripts en input en output devices zoals keyboard en console is eveneens onderdeel van de cursus net als het omgaan met filesen directories. In dit opzicht worden met name de diamant en de chomp operator belicht. Vervolgens staat ook het gebruik van subroutines in Perl op het programma.Op basis van een aantal gestructureerde oefeningen leren de deelnemers hoe reguliere expressies kunnen worden gebruikt voor data validatie en het zoeken naarspecifieke string patterns. Tenslotte wordt een inleiding in object georiënteerd programmeren in Perl gegeven en er wordt besproken hoe extra Perl modules kunnenworden geïnstalleerd en gebruikt. Als voorbeeld kan gekozen worden voor verschillende Perl modules zoals modules voor Graphical User Interfaces of databaseaccess. Het debuggen van Perl scripts met de Perl debugger wordt tussen de bedrijven door ook behandeld.

Module 1 : Perl Introduction Module 2 : Scalar Types and Variables Module 3 : Control Flow

What is Perl?Perl CharacteristicsHello World in PerlTypical Perl Scriptstrict PragmaPerl ModulesInstallationPerl IDE’sInteractive PerlResources for PerlUsages of PerlPerl Script reading InputPerl CGI Script

VariablesScalar VariablesNumbers and Numeric OperatorsStrings and String LiteralsDouble Quoted String EscapesString OperatorsString Number ConversionsScalar Variable InterpolationReading from STDINOperator PrecedenceOperator AssociativityComparison Operatorsif and while control structuresBoolean Valueschomp Operatorundef Value and defined FunctionSpecial Scalar VariablesReferences and dereferencing

Control FlowConditional Statementsif elsif and elseunless and unless elseLogical AND and ORConditional Expression Operatorgiven whenLoop Statementswhile and do..whileuntil and do..untilfor and foreachJump Statementsnext and lastredogoto

Module 4 : Lists and Arrays Module 5 : Subroutines Module 6 : Input and Output

What are Arrays and Lists?ArraysAccessing Array ElementsArray OperationsSpecial Array IndicesList Literalsqw ShortcutList Assignmentpop, push, shift and unshiftsort and reverseInterpolating Arrays into Stringsforeach Control StructureDefault Variable $_Scalar and List Contextin List ContextMultidimensional Arrays

SubroutinesDefining a SubroutineInvoking a SubroutineReturn ValuesArgumentsPrivate Variablesmy VariablesVariable-Length Parameter Listsreturn OperatorNon Scalar Return ValuesState VariablesMore on Parameter PassingAnother Subroutine Example

Reading from STDINInput from Diamond OperatorInvocation ArgumentsStandard OutputFormatted OutputArrays and printfFile HandlesOpening a File HandleErrorsReading from a FileChanging Default File HandleOutput with sayReading Whole FileFile Tests OperatorsManipulate Files/DirectoriesListing DirectoriesExecuting External Programs

Module 7 : Hashes Module 8 : Regular Expressions Module 9 : Perl Modules

What is a Hash?Benefits of HashesHash Element AccessHash as a WholeHash AssignmentMore Hash SyntaxHash Element InterpolationHash FunctionsMore Hash FunctionsThe %ENV HashCounting with HashMerging Hashes

What are Regular Expressions?Simple PatternsMeta CharactersRegular Expression OperatorsQuantifiersCharacter ClassesRegular Expression DelimitersSubgroupingBackreferencesRegular Expression Modifierssplit and joinProblems with CapturesNamed CapturesNamed BackreferencesAutomatic Match VariablesSubstitutions with s///Binding Operator

What are Perl Modules?Packagesmy versus our VariablesModule NamingModule NamespaceCreating ModulesUsing ModulesModules in SubdirectoriesAccessing Module VariablesExporting from ModulesImporting ModulesExplicit ImportsModule SkeletonsModule DocumentationRecommended CPAN Modules

Module 10 : Object Orientation

Object Oriented ProgrammingObject Oriented Programming in PerlClasses and ObjectsExample Class and ObjectsClass ConstructorProperties or FieldsMethods and AccessorsUsing ObjectsInheritanceInheritance with @ISA ArrayOverridden Methods

PRG606: Cursus Advanced Perl ProgrammerenCode: PRG606 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Advanced Perl Programmeren Deze cursus is bedoeld voor ervaren Perl programmeurs die geavanceerde functies vande taal willen leren.

Voorkennis Cursus Advanced PerlKennis van en ervaring met programmeren in de programmeertaal Perl is vereist om aandeze cursus te kunnen deelnemen.

Uitvoering Training Advanced Perl ProgrammerenDe onderwerpen worden besproken aan de hand van presentatie slides. Demo’s zorgenvoor een nadere verheldering van de behandelde concepten. De theorie wordtafgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Advanced Perl ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAdvanced Perl Programmeren.

Inhoud Cursus Advanced PerlDe cursus Advanced Perl Programmeren is bedoeld voor ervaren Perl programmeurs diede vele geavanceerde onderwerpen die beschikbaar zijn willen verkennen. The Perl taalheeft zich ontwikkeld tot een zeer krachtige multi purpose taal. Modules geschreven voor Perl maken het programmeurs mogelijk om snel programma’s te creëren diegebruik maken van complexe datatypes, object-georiënteerde technologieën, grafische gebruikersinterfaces en meer. De onderwerpen die in deze cursus wordenbehnadeld zijn onder andere het gebruik van Perl packages, de creatie van Perl modules, het gebruik van CPAN en het benaderen van databases met Perl.

Module 1 : Perl Refresher Module 2 : Debugging Perl Module 3 : List Manipulation

Miscellaneous functionsDiverse operators grep(), map(), qw//Reference data typeComplex data typesAdvanced regular expressionsModules

Debugging PerlWarningsDiagnostic MessagesCarping, Confessing, and CroakingStrict ChecksCompiler PragmasDebugging FlagsYour Perl ConfigurationThe Devel::Peek ModuleThe Data::Dumper Module

Expert List Manipulation in PerlThe grep OperatorLists, Arrays, and List OperatorsContextContext and SubroutinesInitializing Arrays and HashesReference SyntaxAuto-vivificationDefined ValuesOther List OperatorsUsage of map, grep, and foreach

Module 4 : Blocks and Code References Module 5 : Perl Packages Module 6 : Perl Object Orientation

BlocksSubroutinesSubroutine PrototypesCode Refs and Anonymous SubroutinesTypeglobbing for the Non-SqueamishLocal (Dynamic) VariablesLexical VariablesPersistent Private Subroutine VariablesClosuresThe eval OperatorThe Block Form of evalThe String Form of evalBlock Form of eval for Exception Handling

Perl PackagesReview of PackagesBEGIN and END BlocksSymbol TablesPackage VariablesCalling Package SubroutinesImporting Package SymbolsExporting Package SymbolsUsing the Exporter PackageThe use FunctionAUTOLOAD and @ISAAutoLoader and SelfLoader

Objects and Classes in PerlObject-Oriented StuffMaking Perl Object-OrientedReferencesThe bless FunctionSo, What’s a Blessed Thing Good For?Calling Class and Object MethodsObject MethodsWriting ClassesConstructorsInheritanceWhat Perl Doesn’t Do

Module 7 : Tied Variables Module 8 : Perl Modules Module 9 : Perl Data Access

Tied Variables in PerlWhy Use tie?Tying a ScalarInside Tied VariablesuntieAnother Tied Scalar ExampleTying an ArrayA Tied Array ExampleTying HashesTie::Hash and Tie::ArrayTying FilehandlesWhat Are DBM, NDBM, GDBM, SDBM, etc?Using the DBM Modules

Installing and Using Perl ModulesLaziness, Impatience, and HubrisCPANUsing ModulesInstalling a Perl ModuleUnpacking the Module SourceThe Configuration StepThe Build StepThe Test StepThe Install StepUsing CPAN.pmUsing Module Documentation

Introduction to DBI/DBD in PerlThe Old Way – DBPerlsA Better Way – DBI/DBDDatabase ProgrammingHandlesConnecting to the DatabaseCreating a SQL QueryGetting the ResultsUpdating Database DataTransaction ManagementFinishing Up

Module 10 : Perl SQL Programming Module 11 : Perl/Tk Module 12 : Extending Perl

DBI/DBD SQL ProgrammingError Checking in DBIGetting ConnectedDriversUsing Parameterized StatementsStatement Handle AttributesOther Handle AttributesColumn BindingThe do MethodBLOBs and LONGs and SuchInstalling DBI Drivers

Creating a Perl/Tk ApplicationGUI Programming OverviewAdding WidgetsScrolled WidgetsConfiguring WidgetsMenusUsing FileSelectTk::Error and Tk::ErrorDialogConfiguring WidgetsGeometry ManagementGeometry Management with grid()The Frame WidgetDefining Widget CallbacksBindingsNonblocking I/O with fileevent()

Extending Perl with C/C++Extending the Perl InterpreterOverview of Perl5 XSUBsGet Started with h2xsSet up the Perl Wrapper ClassWrite the XS CodeThe XS FileWrite Some Test CodeWhat Do You Want?Returning Values on the StackA Walk Through an XSUBArguments to XSUBsOther h2xs Options

Module 13 : Embedded Perl Module 14 : Module Development

Embedding the Perl InterpreterWhy Embed Perl?Embedding Perl in a C ProgramCompiling the Programperlmain.cPerl Data TypesMacros and FunctionsManipulating ScalarsMemory ManagementScript SpaceEvaluating Perl ExpressionsDynamic LoadingMultiple Perl Interpreters

Module Development and DistributionDistributing ModulesGet Started with h2xsFiles Created by h2xsThe Build Library (blib) DirectoryUnit Testing and test.plVersionsUsing blibPODPOD TranslatorsCutting a DistributionOther NicetiesMakefile.PL

PRG700: Cursus Reguliere ExpressiesCode: PRG700 Duur: 1 dag Prijs: € 550

Doelgroep Cursus Reguliere Expressies Applicatiebeheerders, ontwikkelaars en andere geïnteresseerden die willen leren hoereguliere expressies kunnen worden gebruikt voor pattern matching in applicaties entools.

Voorkennis programmerenOm aan deze cursus te kunnen deelnemen is algemene basis kennis van computersystemen en software applicaties vereist. Ervaring met programmeren is bevorderlijk voorde begripsvorming.

Uitvoering Training Reguliere ExpressiesDe theorie wordt behandeld aan de hand van presentatie slides. De besproken conceptenworden geïllustreerd door middel van demo’s. De theorie wordt afgewisseld metoefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Cursus Reguliere ExpressiesDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatReguliere Expressies.

Inhoud Cursus Reguliere ExpressiesDe cursus Reguliere Expressies geeft een overzicht van de mogelijkheden van reguliere expressies en de manier waarop ze werken. Na een introductie over hetgebruik van reguliere expressies en de interne werking van Regular Expression engines, wordt de syntax van reguliere expressies behandeld. Aandacht wordtbesteed aan de verschillende meta characters zoals die voor quantification en choice en de escape sequences voor speciale tekens. Character classes worden ookbesproken, waaronder character ranges, characters die matchen op het begin en het einde van een search string en het matchen op word boundaries. Hierbij wordtook het verschil tussen greedy en non-greedy Regular Expressions besproken. Verder zijn ook meer geavanceerde onderwerpen zoals het gebruik van subgroupsen backreferences onderdeel van het cursusprogramma. Er wordt uitgelegd hoe subgroup expressions worden gedefinieerd door parentheses en hoebackreferences, via een index of een naam, kunnen zorgen voor de herhaalde uitvoering van de reguliere expressie. Tenslotte wordt besproken hoe reguliereexpressies kunnen worden gebruikt voor substituties.

Module 1 : Intro Regular Expressions Module 2 : Meta Characters and Quantifiers Module 3 : Character Classes

What are Regular Expressions?Usages of Regular ExpressionsRegex Mini LanguageRegular Expression EnginesSimple Regular ExpressionsInner Workings RegEx EnginesMultiple MatchesCase SensitivityAll Characters CountNon printable CharactersRegex ReferencesRegex Tools

Meta CharactersMatch Any Character with dotMatching Multiple DotsMatching String Start and EndWord BoundariesAlternatives with PipesMatching AlternativesQuantifiersOptional ItemsGreedinessRepetition with StarMatch LengthRepetition with PlusEscaping Special CharactersEscape Dollar SignCommon Character Escapes

What are Character Classes?Using Character ClassesShorthand Character ClassesNegated Character ClassesStart of Line versus ExcludeCharacter RangesNegating Characters and RangesMeta Characters in Character ClassesMatching Word CharactersMatching Non-Word CharactersMatching White and Non-White SpaceMatching Digits and Non-DigitsRepeating Character ClassesNamed Character Classes

Module 4 : Subgroups and Backreferences Module 5 : Substitutions and Modifiers

SubgroupsBackreferencesMatching with BackreferencesMatch Character Next to ItselfUsing One Parentheses GroupMultiple Parentheses GroupsTurning of BackreferencesForward ReferencesSubgroups in LanguagesNamed SubgroupsNamed BackreferencesLookaheadNegative LookaheadLookbehind

Subsitution ExampleSubstitution in Rx ToolkitSubstitutions with s///Substitute OperatorMore Substitution ExamplesModifiers Perl StyleReplacement PatternsTranformations

PRG800: Cursus Groovy ProgrammerenCode: PRG800 Duur: 3 dagen Prijs: € 1350

Doelgroep Cursus Groovy Deze cursus is bestemd voor Java developers die willen leren programmeren met descript taal Groovy.

Voorkennis Cursus Groovy ProgrammerenOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met programmerenin Java vereist.

Uitvoering Training Groovy ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Illustratieve demo’s zorgen voor een verdere verduidelijking van debehandelde begrippen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Groovy ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatGroovy Programmeren.

Inhoud Cursus GroovyIn de cursus Groovy Programmeren leren de deelnemers to programmeren in de Groovyscripttaal die ook wel wordt beschouwd als Java++. Groovy is een JVM taal hetgeenbetekent dat Groovy scripts interoperabel zijn met Java code en daardoor makkelijk samen met Java in dezelfde applicatie kunnen worden gebruikt. Groovy biedt eennatuurlijk uitbreiding op de Java syntax en biedt onder andere een eenvooudige data type syntax voor lists, ranges, maps en reguliere expressies. Na een introductieover de basis kenmerken van Groovy en de installatie van Groovy, komt aan de orde hoe te programmeren met closures and builders. Ook meta-programmeren inGroovy is een onderwerp in de cursus. Aandacht wordt tevens besteed aan Groovies support voor dynamic typing namely duck-typing. Nog veel meer zaken komenaan de orde en de deelnemers zullen merken dat ze snel productief kunnen worden met het programmeren in Groovy.

Module 1 : Groovy Intro Module 2 : Data Types and Operators Module 3 : Closures

Overview of JVM languagesWhy Groovy is a superior JavaInstallation of GroovySkip types and semicolonsSkip function parameter types and returnsDuck typingGroovy BeansGroovy Strings

ListsMapsRangesRegexNull-catch operatorElvis operatorSpread operatorSpaceship operatoras operatorOperator overloadingThe versatile switch statement

What are closuresClosure definitionFree variablesFunctions that takes closuresFunctions returning closuresCurrying

Module 4 : Meta Programming Module 5 : Groovy Enhanced Java API Module 6 : AST Annotations

InspectionMetaClassPatching in new methodsDynamic methodsExpandoGPath

OverviewIteration methodsText manipulationDates and timesEasy file handlingThreads and processes

ToStringEqualsAndHashCodeTupleConstructorCanonicalImmutableSingletonDelegateAutoExternalizeLog, Log4j, Slf4jThreadInterrupt, TimesInterruptWithReadLock, WithWriteLockTrampolineMemoizeHow to create your own AST transformation

Module 7 : Groovy Builders Module 8 : XML Handling Module 9 : Embedded Groovy

The conceptMarkup BuilderNode BuilderAnt BuilderSwing BuilderHTTP BuilderHow to create your own builder

Reading XMLProducing XMLPrinting XMLGrapeScraping HTMLInvoking internet web services

Embedded GroovyGroovy in a legacy Java applicationEvalGroovyShellGroovyScriptRunning Groovy on the command lineOne-linersRunning using shell-script style

Module 10 : GPars Module 11 : Groovy Frameworks

What is GPars Grails

Fork-Join concurrencyParallel data typesMap-Reduce pipelinesActors concurrency

GradleGriffonGaylekSpockGeb

PRG850: Cursus Grails ProgrammerenCode: PRG850 Duur: 3 dagen Prijs: € 1400

Doelgroep Cursus Grails Programmeren Deze cursus is bedoeld voor Java developers die willen leren werken met het state of artframework Grails.

Voorkennis Grails ProgrammerenOm aan deze cursus te kunnen deelnemen is kennis van Java en de scripttaal Groovyvereist.

Uitvoering Training Grails ProgrammerenDe concepten worden behandeld aan de hand van presentatie slides. Demo’s wordengebruikt om de concepten te illustreren. De theorie wordt afgewisseld met oefeningen. Decursustijden zijn van 9.30 tot 16.30.

CertificeringDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat GrailsProgrammeren.

Inhoud Cursus Grails ProgrammerenIn de cursus Grails Programmeren wordt de deelnemer opgeleid tot Grails developer.Grails is een framework voor het pragmatisch ontwikkelen van een Java EE applicatie. Hetframework is gebaseerd op het Model Driven Design paradigm. Ten eerste worden de belangrijkste fundamenten van de Groovy programmeertaal, waarvan dekennis nodig is om zonder veel problemen met Grails te kunnen ontwikkelen, behandeld. Na deze inleiding, wordt de aandacht volledig gericht op het Grailsframework. De volledige Grails stack (model, view en controller) wordt uitgebreid behandeld. Vervolgens komen alle belangrijke zaken voor de succesvolle bouw vaneen Grails applicatie aan de orde, zoals Services, Plugins en GORM.

Module 1 : Grails Intro Module 2 : Grails Components Module 3 : Grails Integration

The Essence of GrailsGetting Started with GrailsUnderstanding Domain ClassesUnderstanding ControllersUnderstanding Views

Mapping URLsInternationalizationAjaxCreating Web FlowsGORM – Grails Object Relational MappingServices

Integrating GrailsPluginsSecurityWeb ServicesLeveraging SpringLegacy Integration with HibernateTo Production: Grails and Tomcat

PRG900: Cursus Scala ProgrammerenCode: PRG900 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Scala Programmerenp Deze cursus is bestemd voor Java, C# en andere developers die willen lerenprogrammeren in Scala of die de mogelijkheden van Scala willen onderzoeken.

Voorkennis Cursus ScalaOm aan deze cursus te kunnen deelnemen is kennis en ervaring met een objectgeoriënteerde programmeertaal zoals Java of C# vereist.

Uitvoering Training Scala ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. Demo’s worden gebruiktom de concepten te verduidelijken. De theorie wordt afgewisseld met oefeningen. Er wordtgebruik gemaakt van een moderne IDE. De cursustijden zijn van 9.30 tot 16.30.

Certificering Scala ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat ScalaProgrammeren.

Inhoud Cursus Scala ProgrammerenIn de cursus Scala Programmeren worden de syntax en mogelijkheden van de Scalaprogrammeertaal besproken. Scala combineert de kracht van object georiënteerd enfunctioneel programmeren en maakt het mogelijk om met aanzienlijk minder code een vergelijkbare functionaliteit te leveren als Java of C#. Aandacht wordt besteedaan de data types, variabelen, control structures en packages van Scala, de mogelijkheden om Scala uit te breiden en het gebruik van Scala Frameworks zoals hetLift Web Framework en het Play Framework. Speciale aandacht gaat uit naar de functionele aspecten van Scala zoals first-class functions, higher order functions ende verschillende manieren van parameter overdracht in Scala. Ook andere typische taal elementen van Scala komen aan de orde zoals closures en deferredexecution. Vervolgens wordt stil gestaan bij collection types zoals lists, maps en tuples en hun respectievelijke higher order functions. Ook de object georiënteerdeaspecten van Scala zoals inheritance, constructors companion objects en overriding worden besproken. Hierbij wordt ook stil gestaan bij de ondersteuning van ducktyping. Uitgebreid wordt stil gestaan bij het concept van Scala Traits and het gebruik van mixins. Een aparte module is gewijd aan hoe Scala omgaat met XML enJSON data. Tot slot wordt aandacht besteed aan concurrency in Scala met het Akka Framework met Actors en Mailboxes en asynchrone communicatie.

Module 1 : Scala Intro Module 2 : Language Syntax Module 3 : Functions and Closures

Introducing ScalaBasic SyntaxScala ConceptsSemicolonsScala KeywordsScala CharacteristicsComments in ScalaInteractive ShellCompiling ScalaScala HelloWorldVariables and ConstantsJava versus ScalaScala versus JavaScala Resources

VariablesVariable ScopesScala Data TypesScala Type HierarchyIf and Else StatementsMultiple SelectionFor LoopFor Yield FilteringWhile LoopsBreakable BlocksFormatted StringsScala ArraysProcessing ArraysMultidimensional ArraysRangesScala OperatorsReserved Symbols

Scala FunctionsVoid FunctionsCall by ValueCall by NameNamed ParametersVariable ArgumentsDefault ParametersRecursive FunctionsNested FunctionsMethods versus FunctionsAnonymous FunctionsFirst Class FunctionsHigher Order FunctionsPartially Applied FunctionsCurrying FunctionsSimple Closure

Module 4 : Collections Module 5 : Classes and Traits Module 6 : Pattern Matching

Scala CollectionsScala Collection HierarchyScala ListsNills and ConsHead and TailList ConcatenationList Fill andTabulateScala SetsConcatenation Min and MaxIntersections and UnionsScala MapsMaps ConcatenationKeys and ValuesScala TuplesTuple AccessScala OptionsGetOrElse

Scala Object OrientationScala ClassesPreventing State ChangeObject SingletonConstructorsVisibility of Constructor FieldsCompanion ObjectsInheritanceAbstract ClassesTraitsPartial Trait ImplementationAbstract MembersMixinsImplicit ClassesScala JavaBeans

Unit returning ExpressionsDealing with AnyMatch ExpressionExample Match ExpressionsMatching using case ClassesMatch with VariablesMatch with SequencesExtended Wildcard _*Scala versus JavaPattern Matching in AssignmentsMatch with TypesMatching on TuplesPattern Matching with Option

Module 7 : Data Access Module 8 : Scala Concurrency

Unit returning Expressions Concurrent Programming

Dealing with AnyMatch ExpressionExample Match ExpressionsMatching using case ClassesMatch with VariablesMatch with SequencesExtended Wildcard _*Scala versus JavaPattern Matching in AssignmentsMatch with TypesMatching on TuplesPattern Matching with Option

Akka FrameworkActors in AkkaHello Akka WorldActorSystemActor HierarchyActor InformationSupervisionSupervision StrategiesTop Level SupervisorsOneForOneStrategyLocation TransparencyAkka Guidelines

PRG950: Cursus Lift ProgrammerenCode: PRG950 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Lift Deze cursus is gericht op Scala en Java developers die het Lift Framework willen leren.

Voorkennis Lift ProgrammerenErvaring met en kennis van Scala en Java is vereist om deel te nemen aan deze cursus.

Uitvoering Training Lift ProgrammerenDe onderwerpen worden besproken aan de hand van presentatie slides en demo’s. Detheorie wordt afgewisseld met oefeningen. De code wordt getest in verschillendebrowsers. De cursustijden zijn van 9.30 tot 16.30.

Certificering Lift ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat LiftProgrammeren.

Inhoud Cursus LiftIn de cursus Lift Programmeren wordt het Lift Framework behandeld. Lift is het krachtigste,meest veilige web framework dat vandaag de dag beschikbaar is. De zeven dingen die Liftonderscheiden van andere web frameworks worden besproken in deze cursus. Ten eerstewordt de beveiliging van Lift applicaties besproken. Er wordt aandacht besteed aan hoeLift applicaties resistent zijn tegen veel vulnarabilities zoals veel van de OWASP top 10. Vervolgens worden de developer centric kenmerken van Lift applicatiesbesproken zoals daar zijn : snel op te bouwen, beknopt en makkelijk te onderhouden. Ook de designer friendlyness van Lift wordt behandeld waarbij wordt getoondhoe Lift applicaties in een designer friendly manier kunnen worden ontwikkeld. Verder zijn de prestaties en schaalbaarheid van Lift applicaties onderwerp van decursus. Er wordt besproken hoe Lift applicaties een hoge performance kunnen hebben en veel verkeer aan kunnen. Ook de modulariteit van Lift applicaties wordtbesproken met eenvoudig te integreren, vooraf gebouwde modules. En ten slotte komt de interactiviteit van Lift applicaties aan de orde en met Lift’s Comet en Lift’sAjax support.

Module 1 : Intro Lift Module 2 : Lift Fundamentals Module 3 : Forms in Lift

Implementing MVC with LiftLeverencing the Scala LanguageDefining the ModelCreating a TemplateWriting SnippetsSprinkling Ajax Spice

Entering LiftBootstrapping in LiftUsing Lift RulesResolving ClassesRendering with TemplatesRendering with ViewsLift TagsMerging HTMLURL RewritingCustom Dispatch FunctionsHTTP RedirectsCookies and Sessions

CheckboxHiddenLinkText and passwordTextareaSubmitMultiselectRadioSelectSelectObjuntrustedSelectUploading Files

Module 4 : Sitemap Module 5 : Mapper and Record Module 6 : Advanced Lift Architecture

Defining Site MapCreating the Link ClassUsing extLinkCreating Menu EntriesUsing Nested MenusSetting the Global SiteMapCustomizing the DisplayUsing Hidden LocParamControlling Menu TextTemplate LocParamLocSnippets

Adding mapperConstructing Mapper Enables ClassSaving a Mapper instanceQuerying for EntitiesControl QueryProgramsFriendly Joins

Request/ Response CycleExploring LiftResponseManaging SessionsResourceServerAuthentication

Module 7 : Lift and JavaScript Module 8 : Ajax and Comet

Using jQueryXML and javaScriptUsing JSONjQSHtml Object

Comet in LiftUnderstanding ActorsComet ActorsAjax in LiftAjax Generators

PRG990: Cursus Scripting met PowershellCode: PRG990 Duur: 3 dagen Prijs: € 1499

Doelgroep Cursus Scripting met Powershell Deze cursus is bestemd voor Windows systeem beheerders en andere belangstellendendie Powershell willen gebruiken voor het beheer van Windows en Windows applicaties.

Voorkennis Scripting met PowershellOm aan deze cursus te kunnen deelnemen zijn algemene vaardigheden in het werkenmet computers en praktische kennis van Windows vereist.

Uitvoering Training Scripting met PowershellDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Certificering Scripting met PowershellDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatScripting met Powershell.

Inhoud Cursus Scripting met PowershellIn de cursus Scripting met PowerShell leren de deelnemers Powershell te gebruiken voorhet beheer van Windows Servers. Overigens kan Powershell ook goed gebruikt wordenvoor het beheer van andere producten en ook dat komt aan bod. De deelnemers leren Powershell te gebruiken vanaf de command line en ze leren de IntegratedScripting Editor te gebruiken. Aan de orde komen operatoren, variabelen, data types en control flow structures. Verder komt het aanroepen van functies, het makenvan functies en ook het afhandelen van fouten aan de orde. En ook het benaderen van bestanden, directories en de registry is onderdeel van de cursus. Apartemodules in de cursus zijn gewijd aan Remoting met Powershell en het omgaan met WMI. Tenslotte wordt ook aandacht besteed een aantal geavanceerdePowershell onderwerpen zoals het uitvoeren van beheerstaken met betrekking tot Active Directory en IIS. Na het doorlopen van de cursus Scripting met Powershellzijn de deelnemers is staat om met eenvoudige commando’s en kant en klare scripts veel voorkomende beheerstaken sneller uit te voeren.

Module 1 : Powershell Intro Module 2 : Variables Module 3 : Control flow

Basics of PowerShellInteractive shellCustomizing PowerShellAliases in PowerShellBasic commandsPowerShell ProvidersdotNet in PowerShellOverview CmdLetsIntegrated Scripting EditorCommands and expressions

VariablesCmdletsBooleansStringsNumbersArrays.Hash Tables.Built in variablesXMLOperators

Control FlowBranchingConditional Statementsif, then, elseComparison OperatorsPowerShell LoopingScript BlocksVariable ScopeObjectProperties

Module 4 : Functies Module 5 : Remoting Module 6 : WMI

Code reuseUsing FunctionsStandard functionsCreating functionsPassing parametersUsing return valuesCustom helpHandling errorsBestanden benaderen

Understanding WinRM and WSManWSMan SecurityEnabling and ConfiguringDisabling RemotingThe WSMAN ProviderTrusted HostsConfiguring RemotingUsing PSSessions

What is WMI?WMI SupportGet-WMI ObjectUsing the Get-WmiObject CmdletWMI Object PropertiesInstance MethodsWMI Type AcceleratorsNamespaces and ClassesAccessing WMI Performance CountersWMI Security

Module 7 : Powershell Advanced

Registry benaderingPipelinesActive DirectoryGroup policiesIISExchangeAndere producten

PYT700: Cursus Numerical PythonCode: PYT700 Duur: 1 dag Prijs: € 599

Doelgroep Cursus Numerical Python Wetenschappers en Big Data analisten die Python met Numpy en MatPlotlib willengebruiken voor data analyse en data processing.

Voorkennis Cursus PythonOm aan deze cursus te kunnen deelnemen is voorafgaande kennis van Pythonnoodzakelijk. Kennis van numerieke methoden is bevorderlijk voor de begripsvorming.

Uitvoering Training PythonDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Officieel Certificaat Numerical PythonDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatNumerical Python.

Inhoud Cursus Numerical PythonIn deze cursus worden de Python libraries NumPy en MatPlotlib besproken. Deze Pythonadd-on bibliotheken zijn zeer geschikt voor het creëren van data analyse en dataprocessing applicaties. De cursus start met een overzicht van NumPy en de zuster library SciPy en hoe kunnen we deze libraries kunnen installeren. Vervolgenswordt het NumPy’s ndarray object en zijn methodes besproken. Aandacht wordt besteed aan de verschillende array manipulatie technieken. Deze methoden zijn instaat grote datasets zeer efficiënt te verwerken. Vervolgens wordt het omgaan met matrices met NumPy behandeld en er wordt aandacht besteed aan specialeroutines voor ordening, searching en het vergelijken van data in matrices. Tenslotte wordt de MatPlotlib library besproken. Deze library is nauw geïntegreerd metNumPy en SciPy en dit maakt het een zeer krachtig instrument voor het creeeren en plotten van complexe figuren. De cursus maakt gebruik van voorbeelden uit depraktijk en laat zien hoe één- en twee-dimensionale data kunnen worden gevisualiseerd.

Module 1 : Numpy Intro Module 2 : Common Functions Module 3 : Matrices

What is NumPy?What is SciPy?Installing NumPyNumPy array objectSelecting elementsNumPy numerical typesData type objectsCharacter codesdtype constructorsdtype attributesOnedimensional slicing and indexingMultidimensional slicing and indexingArray comparisonsany(),all(), slicing, reshape()Manipulating array shapesStacking arraysSplitting arraysConverting arrays

Methods of ndarrayClipping arraysCompressing arraysViews versus copiesravel(),flatten(),transpose()Missing valuesHandling NaNsnanmean(), nanvar() and nanstd()File I/OLoading from CSV filesmean() functionValue rangeDatesCorrelationSmoothingfull() and full_like() functions

Working with MatricesufuncsCreating matricesUniversal functionsArithmetic functionsModulo operationFibonacci numbersBitwise functionsComparison functionsFancy indexingat() methodInverting matricesFinding eigenvaluesSingular value decompositionPseudo inverseDeterminants

Module 4 : Special Routines Module 5 : Plotting with matplotlib

Sortingpartition() functionComplex numbersSearchingArray elements extractionAssert functionsAlmost equal arraysEqual arraysOrdering arraysObject comparisonString comparisonFloating point comparisonsUnit testsDocstrings

Simple plotsPlot format stringSubplotsHistogramsLogarithmic plotsScatter plotsFill betweenLegend and annotationsThreedimensional plotsContour plotsAnimation

PYT800: Cursus Scientific PythonCode: PYT800 Duur: 2 dagen Prijs: € 1199

Doelgroep Cursus Scientific Python Wetenschappers, wiskundigen, ingenieurs en anderen die de SciPy Python library willengebruiken bij applicaties en data analyses.

Voorkennis Python programmerenKennis van Python programmeren en de NumPy library is vereist. Enige kennis vannumerieke methoden in de wetenschappelijke informatica is bevordelijk voor debegripsvorming.

Uitvoering TrainingDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Officieel CertificaatDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatScientific Python.

Inhoud Cursus Scientific PythonIn deze cursus leren de deelnemers wat kan worden gedaan met de Python SciPy libraryvoor wetenschappelijke berekeningen. De cursus start met een overzicht van de rol van de matrices om problemen in wetenschappelijke berekeningen te lossen.Vervolgens wordt ingegaan op elementaire manipulatie en operaties op matrices, gevolgd door factorisaties van matrix vergelijkingen en de berekening vaneigenwaarden en eigenvectoren. Ook interpolatie en approximatie worden behandeld, waarbij geavanceerde technieken bij approximatie functies en huntoepassingen in wetenschappelijke berekeningen worden besproken. Differentiatie technieken voor het bepalen van de afgeleides van functies worden besprokenevenals integratie technieken die laten zien hoe oppervlaktes en volumes effectief berekend kunnen worden. De module Computational Geometry geeft eenoverzicht van de belangrijkste algorithmes in deze tak van de informatica. En tot slot wordt aandacht besteed aan statistiek, machine learning en data mining.

Module 1 : SciPy Intro Module 2 : Matrix Calculations Module 3 : Nonlinear Equations

What is SciPyInstalling SciPy stackAnaconda distributionConstructing matricesUsing ndarray classUsing matrix classSparse matricesLinear operatorsScalar multiplicationMatrix additionMatrix multiplicationTraces and determinantsTransposes and inverses

Singular value decompositionMatrix equationsLeast squaresSpectral decompositionInterpolationsUnivariate interpolationNearest-neighbors interpolationOther interpolationsLeast squares approximationDifferentiation and IntegrationNumerical differentiationSymbolic differentiationSymbolic integrationNumerical integration

Non-linear equations and systemsIterative methodsBracketing methodsSecant methodsBrent methodSimple iterative solversThe Broyden methodPowell’s hybrid solverLarge-scale solversOptimizationUnconstrained optimizationConstrained optimizationStochastic methods

Module 4 : Computational Geometry Module 5 : Descriptive Statistics Module 6 : Inference and Data Analysis

Plane geometryStatic problemsConvex hullsVoronoi diagramsTriangulationsShortest pathsGeometric query problemsPoint locationNearest neighborsRange searchingDynamic problemsBézier curves

ProbabilitySymbolic settingNumerical settingData explorationPicturing distributionsBar plotsPie chartsHistogramsTime plotsScatterplots and correlationRegressionAnalysis of the time series

Statistical inferenceEstimation of parametersFrequentist approachBayesian approachLikelihood approachInterval estimationFrequentist approachBayesian approachLikelihood approachData miningMachine learningTrees and Naive BayesGaussian mixture models

Module 7 : Mathematical Imaging

Digital imagesBinaryGray-scaleColorAlpha channelsSmoothing filtersMultivariate calculusStatistical filtersFourier analysisWavelet decompositions

Image compressionImage editingRescale and resizeSwirlImage restorationNoise reduction

SCR700: Cursus Linux Shell ScriptingCode: SCR700 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Linux Shell Scripting Administrators, developers en testers die shell scripts in een Linux/Unix omgeving willenleren schrijven en begrijpen.

Voorkennis Cursus Linux ShellAlgemene kennis van computers en operating systems is vereist. Ervaring metprogrammeren is bevorderlijk voor een goede begripsvorming.

Uitvoering Training Linux Shell ScriptingDe theorie wordt behandeld aan de hand van presentatie slides. De concepten wordentoegelicht met demo’s. De theorie wordt afgewisseld met oefeningen. De cursustijden zijnvan 9.30 tot 16.30.

Certificering Linux Shell ScriptingDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat LinuxShell Scripting.

Inhoud Cursus Linux Shell ScriptingIn deze hands-on cursus wordt het schrijven van shell scripts in een Linux/Unix omgevingbehandeld. Diverse shells zoals de Bourne, C, Korn en Bash shell komen aan de orde ener wordt ingegaan op de verschillen tussen deze shells. U leert scripts te schrijven en te combineren met script commands, special characters, I/O redirection enpipes. Ook leert u de input van users in scripts te verwerken met command line parameters, options en redirection. Eveneens wordt aandacht besteed aan controlflow en het lezen en schrijven van files. Het aanroepen en schrijven van functions, het doorgeven van parameters en het opvangen van return values staat eveneensop het programma. Voorts komende sed batch-editor, waarmee het editen van een tekstfile automatisch afgehandeld kan worden, en de awk report-generator aan orde. Tenslotte wordt ingegaan opeen aantal advanced scripting onderwerpen.

Module 1 : Intro to Shell Scripting Module 2 : Basic scripting Module 3 : User Input

What are shell scripts?Simple scriptTypes of shellsGetting the shellBourne ShellC ShellKorn ShellBash shellBatch editor sedAwk report generator

Using Multiple CommandsCreating a Script FileDisplaying MessagesSpecial charactersScript commandsSymbol commandsCase sensitivityUsing VariablesArraysRedirecting Input and OutputPipesPerforming MathExiting the Script

Command line argumentsSpecial Parameter VariablesBeing ShiftyWorking with OptionsStandardizing OptionsGetting User InputUnderstanding Input and OutputRedirecting Output in ScriptsRedirecting Input in ScriptsCreating Your Own RedirectionSuppressing Command Output

Module 4 : Control Flow Module 5 : File I/O Module 6 : Functions

Selection statementsif-then-else StatementNesting if’sThe test CommandCompound Condition Testingcase CommandIteration statementsfor, while and untilLoop controlOutput processing

Working with filesCommunication ChannelsFile system NavigationFile and Directory ListingListing Open File DescriptorsFile HandlingDirectory HandlingViewing File ContentsFile RedirectionPiping Commands TogetherUsing Temporary FilesLogging MessagesFile Permissionssuid and sgid programs

Basic Script FunctionsReturning a ValueUsing Variables in FunctionsArray Variables and FunctionsFunction RecursionCreating a LibraryUsing Functions on the Command Line

Module 7 : Sed en Awk Module 8 : Advanced Scripting

Text manipulationThe sed Editor BasicsMultiline CommandsThe Hold SpaceNegating a CommandChanging the FlowPattern ReplacementUsing sed in ScriptsCreating sed Utilities

Monitoring Disk SpacePerforming BackupsManaging User AccountsMonitoring System StatisticsUsing curlAlternative shells

SPR100: Cursus Scrum Fundamentals voor BeginnersCode: SPR100 Duur: 1 dag Prijs: € 499

Doelgroep Cursus Scrum Deze cursus is bedoeld voor medewerkers die in een Scrum project gaan werken enandere personen die willen ervaren wat Scrum is.

Voorkennis Cursus ScrumVoor deelname aan deze cursus zijn geen specifieke vaardigheden nodig. Algemenekennis van systeem ontwikkeling is nuttig voor een goede begripsvorming.

Uitvoering Training Scrum voor BeginnersDe theorie wordt behandeld op basis van presentatie slides. Aan de hand voorbeeldprojecten uit de praktijk wordt de theorie nader verhelderd. Aan de hand van korte casestudies worden door de trainer geleide groepsdiskussies uitgevoerd. De cursustijden zijnvan 9.30 tot 16.30.

Certificering Scrum CursusDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatScrum Fundamentals.

Inhoud Cursus ScrumIn deze cursus worden de essenties van de Scrum project management methodebesproken waarin samenwerking voor het laten slagen van een systeem voorop staat. In tegenstelling tot traditionele project management methodes wordt bij Scrumingespeeld en rekening gehouden met veranderingen. Een informatiesysteem wordt in kleine iteraties, aangeduid met sprints, volledig gebouwd. Aan de orde komende verschillende rollen bij een Scrum project zoals die van Product Owner, Scrum Master, het Development Team en de Manager op de achtergrond. Ook wordtaandacht besteed aan de zogeheten Scrum ceremonies zoals de planning en de daily meeting. Verder wordt ingegaan op Scrum artifacts zoals de stories, deproduct backlog, de prioriteiten, de schattingen omtrent de grootte en de product timeline. Ook het vaststellen en uitvoeren van sprints en het belang van de dailymeeting komen aan de orde. Tenslotte wordt besproken wat de voordelen van de Scrum benadering zijn, maar ook voor welke valkuilen u moet waken. In één dagtijd hebben de deelnemers dan het hele Scrum proces doorlopen en weten de stappen in het proces te benoemen.

Module 1 : Scrum Intro Module 2 : Scrum Framework Module 3 : Artifacts

What is Scrum?Project ManagementTeam as unitSelf-organized teamsBusiness sets prioritiesTarget accomplishment

RolesProduct ownerScrum MasterDevelopment TeamManagerCeremoniesPlanningDaily meetingReview

ArtifactsStoriesProduct BacklogPrioritizationSize EstimationProduct TimelineSprintsLife in the SprintsSprint BacklogSprint PlanningCharts

Module 4 : Daily Practice

Daily meetingTodo tasksCompleted tasksObstaclesBurn Down ChartRetrospectiveBenefits and Pitfalls

SPR200: Cursus Scrum MasterCode: SPR200 Duur: 2 dagen Prijs: € 999

Doelgroep Scrum Master Cursus Developers, testers, software architecten, project managers, team leiders en anderen dieeen grondige kennis willen op doen van het Scrum software process en die deverantwoordelijkheden en rol van de Scrum Master willen leren.

Voorkennis Cursus Scrum MasterVoor deelname aan deze cursus zijn geen specifieke vaardigheden nodig. Het verdientaanbeveling vooraf alvast kennis over Scrum op te doen door het lezen van artikelen.

Uitvoering Training Scrum MasterDe theorie wordt behandeld op basis van presentatie slides. Aan de hand voorbeeldprojecten uit de praktijk wordt de theorie nader verhelderd. Aan de hand van korte agilepraktijk voorbeelden worden oefeningen uitgevoerd. De cursustijden zijn van 9.30 tot16.30.

Certificering Cursus Scrum MasterDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatScrum Master.

Inhoud Scrum Master CursusIn deze cursus doen de deelnemers in twee dagen de kennis op die nodig is op Scrum trajecten in goede banen te leiden. De implementatie van een Scrum softwareprocess kan verregaande gevolgen hebben voor organisaties en u kunt tegen moeilijkheden oplopen waardoor niet alle voordelen van Scrum tot hun recht komen.De rol van de Scrum Master is hierbij van groot belang voor het succes van Scrum en in deze cursus wordt u daatoe opgeleid. De cursus behandelt alle zaken dienodig zijn om zich als Scrum Master te certificeren. Ook deelnemers die al actief zijn als Scrum Master en die hun kennis willen verdiepen en zich willen certificeren,hebben baat bij deze training. In de cursus wordt ingegaan op de principes van Scrum en gaat met name in op de rol van de Scrum Master in relatie tot het team. Ookwordt uitgebreid stil gestaan bij de rollen, tools en meetings van het Scrum proces. Na afloop van de training kunt u online een examen van Scrum.org afleggen.Hiermee kunt u zich certificeren tot Professional Scrum Master. Het examen is niet bij de training inbegrepen en is facultatief.

Module 1 : Scrum Intro Module 2 : Scrum Process Module 3 : Scrum Teams

What is Scrum?Scrum originScrum principlesOther Software processesScrum versus AgileScrum Software process

Scrum FrameworkScrum meetingsChanges with ScrumScrum and DevelopmentScrum and ManagementTotal Cost of Ownership

Scrum teamsTeam cooperationTeam communicationSelf organizationMultidisciplinary Teams

Module 4 : Scrum Terminology Module 5 : Scrum Planning Module 6 : Scrum and Changes

Product BacklogManagement and RefinementItem ReadinessItem EstimationProduct IncrementDefinition of DoneSprint BacklogUpdate ScopeBurndown Charts

Scrum planningInforming customersScaling Scrum to large projectsProject estimationsTime boxesRisk ManagementRisk ReportingDetermine progress

Scrum and changesRolesRulesArtifactsOrganization effectsMaintenanceTCO optimalization

Module 7 : Scaling Scrum

Scaling TeamsScaling Product OwnersScaling the Product BacklogScaling the Sprint MeetingsDistributed Scrum TeamsInfrastucture practices

SPR300: Cursus Agile DevelopmentCode: SPR300 Duur: 2 dagen Prijs: € 999

Doelgroep Agile Development Cursus Deze cursus is bedoeld voor developers, testers, project leiders en managers die kenniswillen opdoen over de inrichting van een Agile software development process.

Voorkennis Cursus Agile DevelopmentVoor deelname aan deze cursus zijn geen specifieke vaardigheden nodig. Algemenekennis van systeem ontwikkeling is bevorderlijk voor een goede begripsvorming.

Uitvoering Training Agile DevelopmentDe theorie wordt behandeld op basis van presentatie slides. Aan de hand van korte casestudies worden de stappen in een Agile development proces geoefend. De cursustijdenzijn van 9.30 tot 16.30.

Certificering Cursus Agile DevelopmentDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat AgileDevelopment.

Inhoud Agile Development CursusIn deze cursus leren de deelnemers de concepten, methoden en praktische techniekenvan Agile software development. Eerst worden de geschiedenis van Agile en defundamenten van de strategische planning besproken. Vervolgens wordt in de cursus de volledige cyclus van een typisch Agile development project doorlopen vanafhet schrijven van een user story tot de uitvoering en oplevering daarvan. Aandacht wordt besteed aan rollen en rol identificatie in Agile, het werken in teams en hetbereiken van consensus. Ook het belang van de user stories, schattingen en planning in Agile komen aan de orde. Tenslotte wordt besproken hoe iteraties in Agiledevelopment worden uitgevoerd, wat de plaats is van Daily Standups en hoe metrics kan worden toegepast op Agile development projecten. Tijdens de cursus zullende deelnemers werken in teams en Agile in de praktijk brengen door middel van hands-on oefeningen die het inzicht in de ins en outs van Agile developmentversterken. De deelnemers zullen na deze cursus over de praktische kennis beschikken die nodig is om te beginnen met Agile development.

Module 1 : Agile Intro Module 2 : Agile Roles Module 3 : Agile Teams

Agile introductionHistory of AgileThe Agile ManifestoAgile MethodsMethod differences

Role OverviewLeadership in AgileUser RolesUser Roles for StoriesUser Roles for RequirementsUser Role identificationUsing Personas

Self Organizing TeamsEmpowered TeamsTeam DynamicsAchieving ConsensusMeeting RulesTeam ChartersVision and StrategyRoad MappingBuilding the Product Backlog

Module 4 : User Stories Module 5 : Estimation Module 6 : Planning

User Story PartsAcceptation CriteriaWhy User Stories?Gathering StoriesRequirements GatheringWriting User StoriesAcceptation CriteriaPrioritizationStory Mapping

Intro EstimationConventional Estimation problemsAgile EstimationsFeature EstimationFree PlanningVelocityEstimation of Data with Velocity

Strategic Agile PlanningRelease Planning ProcessSchedule Based Release PlanningScope Based Release PlanningKeeping the Release PlanIterative PlanningDefining DoneCapacity PlanningDetailed PlanningPlanning for Chaos

Module 7 : Iterations Module 8 : Metrics

Iteration ExecutionReviewsThree Themes of Iteration ExecutionConducting Daily StandupsFoul Team Smells

Sprint Demo’sMetrics and ReportingCost of MetricsTraditional Metrics ProblemsUnderstanding Agile MetricsRetrospectivesEffective Retrospectives

SPR400: Cursus Requirements met Use CasesCode: SPR400 Duur: 2 dagen Prijs: € 999

Doelgroep Requirements CursusDeze cursus is bedoeld voor systeem analisten en developers die willen leren hoe UseCases kunnen worden gebruikt voor het specificeren van de functionele requirements vansystemen.

Voorkennis Cursus Requirements met Use CasesVoor deze cursus is geen specifieke voorkennis vereist. Algemene kennis van systeemontwikkeling is wenselijk voor een goede begripsvorming.

Uitvoering Training RequirementsDe theorie wordt gepresenteerd aan de hand van presentatie slides. Korte case studiesworden gebruikt om met de behandelde technieken te oefenen. Demo projectenverhelderen de behandelde concepten. De cursustijden zijn van 9.30 tot 16.30.

Certificering Cursus Requirements with Use CasesDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatRequirements with Use Cases.

Inhoud Requirements Cursus met Use CasesIn deze cursus staat Use Case modellering als een veelgebruikte analyse techniek voorhet specificeren van de functionele eisen van een software systeem en het scheppen van een kader voor testcase ontwikkeling centraal. Na een introductie overrequirements in het algemeen waarin de verschillende soorten requirements worden besproken, wordt ingegaan op het maken van Use Cases. Niet alleen debeschrijving van de Use Cases in een tekstueel document komt daarbij aan de orde, maar ook de visualisering van de Use Cases in een Use Case diagram. Er wordtbesproken hoe Use Case diagrammen gebruikt kunnen worden in de communicatie met de stakeholders en om zicht te krijgen op de omvang, de complexiteit en deinteractie met het systeem. Vervolgens wordt besproken hoe een Use Case aan de hand van een Use Case template nauwkeurig in een aantal stappen kan wordenbeschreven. Hierbij wordt de focus met name gelegd op het success scenario om vervolgens ook belangrijke afwijkende scenario’s te specificeren. Eveneens komenmeer geavanceerde technieken bij Use Case Modeling aan de orde zoals het gebruik van Activity Diagrams met guards, het vertakken van Use Cases en het gebruikvan iteraties. Tenslotte er er ruimte voor de bespreking van de structuring van de Use Cases middels het hergebruik via includes, extends en generalisaties. Decursus wordt afgesloten met aandacht voor Use Cases in het kader van prototypes, de interfaces van het systeem en het test plan.

Module 1 : Requirements Module 2 : Use Case Intro Module 3 : Use Case Modeling

Understanding RequirementsVision DocumentsRequirement Analysis ActivitiesRequirement TypesFunctional RequirementsNon-Functional RequirementsRequirements DeterminationRequirements ClassificationRequirements SpecificationConflicting RequirementsRequirements RisksThe glossary

Use Case approachIdentifying stakeholdersUse Case terminologyUse CasesActorsIdentifying ActorsPrimary ActorSecondary ActorsInformationDefine System scopeSystem Context DiagramSystem Use Case DiagramBrief Use Case Description

Use Case ModelingIdentifying Use CasesUse Case DiagramUse Case Modeling StepsDrawing Use CasesDescribing Use CasesHigh Level Use CasesExpanded Use CaseUse Case TemplatePrioritizing Uses CasesPackaging Use Cases

Module 4 : Scenario’s Module 5 : Advanced Use Case Modeling Module 6 : Interfaces and Tests

Main success scenarioDescribing the stepsBest Practices use case descriptionsOther ScenariosDifferent types of scenariosAlternate scenarios and flowsAlternate flows and exceptionsAlternate scenario description

Activity DiagrammingAdding decisionsGuards and notesBranching with IfAlternative PathsScenariosStructuring Use Case ModelGeneralizationsinclude and extends

Usability requirementsPrototypingPrototype documentationInterface requirementsInterface specificationsScreen functionalityInterfaces in iteration planTesting Use CaseTest plan

TLG300: Cursus GIT voor DevelopersCode: TLG300 Duur: 1 dag Prijs: € 499

Doelgroep Cursus GIT voor Developers Deze cursus is bestemd voor developers die Git en GitHub willen gebruiken voorgedistribueerde versie controle.

Voorkennis GITOm aan deze cursus te kunnen deelnemen is kennis van en ervaring met softwaredevelopment in een moderne taal zoals Java, C++, C# of PHP vereist.

Uitvoering Training GIT voor DevelopersDe theorie wordt besproken aan de hand van presentatie slides en wordt afgewisseld metoefeningen. Demo projecten in dienen te verheldering van de behandelde concepten. Decursustijden zijn van 9.30 tot 16.30.

Certificering GIT voor DevelopersDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat GITvoor Developers.

Inhoud Cursus GITIn de cursus Git voor developers leren de deelnemers de concepten van gedistribueerdeversie controle te begrijpen en effectief te beginnen met het gebruik van de GitHub suitevan tools. Aandacht wordt besteed aan Git repositories die zich zowel locaal als remote kunnen bevinden, hoe versies kunnen worden gecommit en mogelijk ookweer teruggedraaid. Verder wordt behandeld wat Git branching is en welke branching en merge strategieen je kunt gebruiken. Ook de aansturing via de commandline komt aan de orde. Verder wordt aandacht besteed aan typische GitHub workflows, het ongedaan maken van fouten, history manipulatie in een gedistribueerdewerkomgeving. Tenslotte worden een aantal van de beschikbare tools behandeld zoals Revision Selection, Interactive Staging, Rewriting History en Debugging withGit (bisect).

Module 1 : Git Intro Module 2 : Git Branching Module 3 : Git on the Server

What is Git?Git and DVCS conceptsGitHub platformRepositoryRepository on the webDesktop repositoriesRecording Changes to the RepositoryViewing the Commit HistoryUndoing ThingsTaggingDocument versioningLocal and remote repositoriesDistributed version controlConfiguration and customization

Branching and MergingBrance ManagementBranching WorkflowsRemote BranchesRebasingBranching strategiesMerge strategiesConflict resolutionMultiple remotesFork maintenanceTemporary branching solutions

The ProtocolsGetting Git on a ServerGenerating SSH Public KeySetting up the ServerPublic AccessHosted Git (GitHub)Working with RemotesRemote repository interactionRepository integration

Module 4 : Distributed Git Module 5 : Git Tools

Distributed WorkflowsContributing to a ProjectMaintaining a ProjectSynchronizationCollaboration patternsCollaboration workflowsProject managementGit ConfigurationAttributes and HooksLocal and remote synchronizationShortcuts and efficiencies

Revision SelectionInteractive StagingHistory reorderingHistory editingRewriting HistoryDebugging with bisectSubmodulesSubtree MergingAccidental commitsIgnore patterns usesAliases beyond-the-basics

TLG700: Cursus Web Testing met SeleniumCode: TLG700 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus Web Testing met Selenium De cursus is bedoeld voor testers en developers die een test automatiserings frameworkmet Selenium willen inrichten.

Voorkennis SeleniumOm aan deze cursus succesvol te kunnen deelnemen is kennis van en ervaring metprogrammeren zeer wenselijk.

Uitvoering Training Web Testing met SeleniumDe theorie wordt besproken aan de hand van presentatie slides. Demo’s worden gebruiktom de theorie te verduidelijken. Er is ruime gelegenheid tot oefenen. De cursustijden zijnvan 9.30 tot 16.30.

Certificering Web Testing met SeleniumDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat WebTesting met Selenium.

Inhoud Cursus Web Testing met SeleniumIn de cursus Web Testing met Selenium leren de deelnemers werken met dit testautomatiserings framework. Selenium is een steeds meer gebruikt test automatiseringstool. Aan de orde komen de principes van test automatisering, de Selenium IDE, Element Identificatie en het testen van dynamische HTML applicaties. Alle aspectenvan Element Identicatie (id, name, link, CSS, xPath) worden uitgebreid behandeld. Als voorbeeld programmeertaal wordt in deze cursus Java gebruikt, maardesgewenst kan ook voor een andere taal zoals Python worden gekozen. De deelnemers beginnen met het zelf maken van een abstractie van het Test Object. Hierbijzullen de meest voorkomende WebDriver functies worden toegelicht en toegepast. Daarnaast komen test scripts aan de orde welke geschreven kunnen worden inhet Java Test Framework jUnit. Het automatiseren bestaat niet alleen uit de executie van een Test Case, maar ook uit het klaarzetten van de uitgangssituatie en hetweer netjes achterlaten van de omgeving achteraf. De zogeheten fixture. Verder komt het selecteren van elementen met diverse functies en het Navigeren door enManipuleren van elementen aan de orde. Tenslotte wordt ook aandacht besteed aan een aantal advanced onderwerpen zoals Selenium Grid, Cross Browser Testingen de combinatie met JavaScript.

Module 1 : Selenium Intro Module 2 : Selenium IDE Module 3 : WebDriver

What is Selenium?Test AutomationRC en CoreHTTP ProxyVersion 1 versus 2Selenium IDEInstallationUI OptionsPluginsRunning ScriptsIDE Limitations

Record Test CaseRunning OptionsCreating Test SuiteAdding ChecksVerification CommandsAssertion StatementsGeneral Selenese CommandsWaitFor CommandsUsing LocatorsLocating by DOMLocating by CSS SelectorXPathStore and Echo CommandsUsing Test Runner

Web DriverWeb ElementsLocating Web ElementsFinding ElementsLocating By NameLocating By IDLocating By TagNameLocating By ClassNameLocating By Link TextLocating By LinkTextLocating By Partial Link TextLocating By XpathActions on WebElementsgetAttributesendKeyssubmit and clear

Module 4 : Manipulation Module 5 : Selenium Grid Module 6 : JavaScript Integration

WebDriverWaitExpectedConditionsSendKeys method exploredSelect support classUser InteractionsDealing with AlertsAlert methods exploredSynchronisation StrategiesWhy we need synchronisationWebDriverWait Fluent interfaceFluentWait, Function and PredicateImplicit vs Explicit WaitCookies

What is Selenium Grid?Grid 1.0 Vs Grid 2.0The HubThe NodesConfigurationView ConfigRemoteWebDriverDesiredCapabilitesRunning TestCross Browser testing

Why use Javascript?JavaScript ExecutionSynchronous and AsynchronousAdding Javascript to pageUse of Different BrowsersFirefoxGoogle ChromeRemote Driver

TST200: Cursus Acceptatie Testen met FitnesseCode: TST200 Duur: 1 dag Prijs: € 599

Doelgroep Cursus Acceptatie Testen met Fitnesse De training is bedoeld voor testers, developers en anderen die zich het gebruik vanFitNesse voor het maken van geautomatiseerde tests eigen willen maken.

Voorkennis Cursus Acceptatie Testen met FitnesseErvaring met de basis principes van programmeren is aanbevolen, maar niet strictnoodzakelijk.

Uitvoering Training Acceptatie Testen met FitnesseDeze klassikale training is interactief van opzet, met ruimte voor eigen cases. Het is eenhandson training waarbij theorie en praktijk worden afgewisseld. De theorie wordtgepresenteerd aan de hand van slides en demos. Aan de hand van exercises worden eenaantal scenario’s uitgewerkt. De cursustijden zijn van 9.30 tot 16.30.

Certificering Acceptatie Testen met FitnesseDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatAcceptatie Testen met Fitnesse.

Inhoud Cursus Acceptatie Testen met FitnesseIn de cursus Acceptance Testen met Fitnesse wordt behandeld hoe FitNesse gebruikt kanworden voor het schrijven van acceptatie tests. FitNesse is een testautomatisering tool dat het mogelijk maakt om acceptatie testen te schrijven in de vorm vantabellen op een wiki pagina. Na een uitleg over de installatie en architectuur van Fitnesse wordt aandacht besteed aan de verschillende language bindings diemogelijk zijn. Aan de orde komt hoe je met FitNesse test scripts kunt specificeren in de vorm van wiki-tabellen. Deze wiki pagina’s zijn toegankelijk voor zowel testersals business analisten zodat beiden aan de acceptatie testen kunnen werken. De diverse pagina’s in een Fitnesse project worden besproken zoals de Root page,Test pages en de Setup en Teardown pages. Ook wordt ingegaan op de configuatie van Fitnesse met zowel de FIT engine met fixture als de SLIM engine met diversetabellen. Door gebruik te maken van FitNesse is het niet meteen noodzakelijk om tests te maken met een programmeertaal. Er kan op een slimme manier gebruikgemaakt worden van een set vooraf gedefinieerde keywords. Indien een keyword ontbreekt, dan is er de mogelijkheid om deze set aan keywords uit te breiden.Aandacht wordt besteed aan de verschillende mogelijkheden en best practices om met Fitnesse zowel web applicaties als web services te testen.

Module 1 : Fitnesse Intro Module 2 : Fitnesse Projects Module 3 : Configuring Fitnesse

What is FitnesseAcceptance TestingBlack Box TestingFunctional TestingTest AutomationFitness Web ServerWiki TablesWiki EngineTesting EnginesSLIM and FITLanguage BindingJava, Python, C#

Edit Front PageFitness VariablesPage PropertiesRoot PageTest PagesSetup PageTeardown PageFixturesTest ScriptsTest Suites

Decision TablesSetters and GettersConfiguring FITColumn FixtureRow FixtureAction FixtureConfiguring SLIMQuery TableScenario TableData Types

Module 4 : Writing Test Cases Module 5 : Running Test Cases

System under TestElementen benaderenScenariosData-driven testenVerificatiepuntenStandaard KeywordsEigen keywordsRapportageFitnesse plugins

Run individuallyRun as suiteNaming in suitesSelective runSmoke testExecution orderNames of tablesModular approach

TST400: Cursus Performance TestingCode: TST400 Duur: 2 dagen Prijs: € 1199

Doelgroep Performance Testing CursusDe training Performance Testing is bedoeld voor testers, developers en anderen die zichde tools en technieken van performance testing eigen willen maken.

Voorkennis Cursus Performance TestingErvaring met de basis principes van programmeren is aanbevolen, maar niet strictnoodzakelijk.

Uitvoering Training Performance TestingDe training Performance Testing is een klassikale, interactieve training met ruimte vooreigen cases. Het is een handson training waarbij theorie en praktijk worden afgewisseld.De theorie wordt gepresenteerd aan de hand van slides en demos. Aan de hand vanexercises worden een aantal scenario’s uitgewerkt. De cursustijden zijn van 9.30 tot16.30.

Certificering Performance TestingDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatPerformance Testing.

Inhoud Cursus Performance TestingIn de cursus Performance Testing leer je hoe je quantitatieve resultaten verkrijgt over de performance van applicaties onder verschillende test scenario’s.Performance is een aspect dat steeds belangrijker wordt en is een voorwaarde is om applicaties tot een succes te maken. Downtime, wegklikkende bezoekers ennegatieve media-aandacht kunnen allemaal het gevolg zijn van slechte performance van een applicatie. Tijdens deze training wordt een methode uitgewerktwaarmee de performance van een applicatie kan worden gemeten en de resultaten kunnen worden geanalyseerd. In de eerste plaats wordt aandacht besteed aanhet maken van een test plan met parameters als workload en te testen transacties. Hierbij komt ook stress testing aan de orde. Tools als JMeter en Gatling wordengebruikt bij het specificeren van scripts en het uitvoeren daarvan. De resultaten van de tests worden gerapporteerd en geanalyseerd. Op basis van de metingenworden conclusies getrokken en aanbevelingen gedaan. Tenslotte wordt ook aandacht besteed aan het evalueren van qualitatieve aspecten zoals scalability enreliability.

Module 1 : Intro Performance Testing Module 2 : Configuring Tooling Module 3 : Creating Test Plan

Performance AspectsMemory IssuesTiming IssuesResponse TimesUser ExperiencePerceived PerformanceBenchMarkingTypes of Performance TestsLoad TestingStress TestingPerformance testing

Using JMeterRunning JMeterSetting ClasspathConfiguring JMeterNon-GUI modeUsing GatlingGatling RecorderRecording ScenariosRunning GatlingIsolate ProcessesConfigure Users

Designing the TestDefining WorkloadSimulated TransactionsRefining measurementsResponse timesResource usageWeb Test PlanAdd UsersSet HTTP Request HeadersAdd Cookie SupportAdd File ReporterSaving Test PlanRunning Test Plan

Module 4 : Creating Scripts Module 5 : Test Execution

Configuring Tree ElementsThinning a TestThread GroupControllersGenerative ControllersLogic ControllersListenersTimersAssertionsConfiguring ElementsVerification Points

Acquire dataValidate tests and toolsPrepare for executionExecute the testsRefining measurementsResponse timesResource usageCollect the dataDraw ConclusionsPresent RecommendationsTuningDebuggingReporting Results

VBA100: Cursus VBA Word ProgrammerenCode: VBA100 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus VBA Word Programmeren Deze cursus is bedoeld voor personen die willen leren om sjablonen in Word te schrijvenen met VBA de invoer van invulformulieren willen sturen.

Voorkennis VBA WordOm aan deze cursus deel te kunnen nemen is een goede kennis van sjablonen in Worden hoe in Word wordt omgegaan met met tekst, alinea’s en secties vereist.

Uitvoering Training VBA Word ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. Illustratieve demo’szorgen voor verdere verduidelijking van de concepten. De theorie wordt afgewisseld metpraktische oefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering VBA Word ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat VBAWord Programmeren.

Inhoud Cursus VBA Word ProgrammerenIn deze cursus komt aan de orde hoe VBA, Visual Basic for Applications, kan wordengebruikt om sjablonen en macros’s in Word te schrijven en daarmee in VBA Word teprogrammeren. De deelnemers leren welke Word objecten er zijn en hoe deze benaderd kunnen worden. Met name wordt ingegaan op die onderdelen van VBAWord die belangrijk zijn voor het aansturen van Word. In de cursus leren de deelnemers sjablonen maken waarin zelf gemaakte dialoog vensters, dynamischemenu’s en werkbalken worden gebruikt. Aandacht wordt besteed aan de achterliggende VBA Word code. Vervolgens komt de syntax van de VBA taal aan de ordewaarbij statements, variabelen en control flow constructies worden besproken. Een belangrijk onderdeel van de cursus betreft het gebruik van functies en proceduresin Word en de deelnemers leren daarbij ook hoe ze deze zelf kunnen schrijven om ze vervolgens vanuit VBA code te kunnen aanroepen. Ook wordt ingegaan op hetzogenaamde Word Object model en de properties en functies daarvan waarmee Word bestuurd kan worden. Verder kom aan de orde hoe databases vanuit Wordbenaderd kunnen worden met het DAO, Data Access Objects, object model. En tenslotte is er aandacht voor events en de afhandeling daarvan. Na het doorlopen vandeze cursus zijn de deelnemers is staat sjablonen, die volledig zijn toegespitst op de eigen huisstijl, te maken en te onderhouden.

Module 1 : VBA in Word Module 2 : VBA Syntax Module 3 : Control flow

Sjablonen in WordSoorten sjablonenMacro’s en sjablonenMacro’s opnemen en afspelenVisual Basic EditorProgrammeren in VBAEntering codeVBA CodeStatementsCommentsInteractie met de gebruikerMessagebox en Inputbox

VariabelenConstantenDeclaratiesData TypesModulesObjectenStapsgewijs uitvoerenBreakpointsDebuggenSyntaxfoutenFoutafhandeling

SelectiesIf StatementsElse StatementsIf Then ElseSelect caseIteratiesFor NextDo LoopWith end withArrays in VBA

Module 4 : Functies Module 5 : Word Object Model Module 6 : Events

Wat zijn functies?ParametersArgumentenFuncties vindenFuncties definierenFormulierenGebruikers interface makenDialoogvensters makenCursor aansturen

Word objectenObject modelDocumentenParagrafenSectiesBladwijzersRange ObjectWat is DAO?Data Access ObjectsWord Database Access

Wat zijn EventsSoorten eventsReageren op eventsEvents afhandelenEvent functiesDomein functies

VBA200: Cursus VBA Excel ProgrammerenCode: VBA200 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus VBA Excel Programmeren Deze cursus is bedoeld voor personen die willen leren om macro’s in Excel te schrijvenvoor het automatiseren van handelingen en het verwerken van data.

Voorkennis VBA ExcelOm aan deze cursus deel te kunnen nemen is een goede kennis van en praktijkervaringmet Excel vereist.

Uitvoering Training VBA Excel ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. Illustratieve demo’szorgen voor verdere verduidelijking van de concepten. De theorie wordt afgewisseld metpraktische oefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering VBA Excel ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat VBAExcel Programmeren.

Inhoud Cursus VBA Excel ProgrammerenIn deze cursus komt aan de orde hoe VBA, Visual Basic for Applications, kan wordengebruikt om macro’s in Excel te schrijven en daarmee in Excel te programmeren. Dedeelnemers leren welke VBA Excel objecten er zijn en hoe deze benaderd kunnen worden. Met name wordt ingegaan op die onderdelen van VBA Excel diebelangrijk zijn voor het aansturen van Excel. De cursus gaat van start met het opnemen van macro’s in Excel en het vervolgens bekijken en aanpassen van de VBAcode achter deze macro’s. Vervolgens wordt aandacht besteed aan de syntax van de VBA taal waarbij statements, variabelen en control flow constructies wordenbesproken. Een belangrijk onderdeel van de cursus betreft het gebruik van functies in Excel en de deelnemers leren daarbij ook hoe ze zelf functies kunnen schrijvendie ze vervolgens vanuit VBA code kunnen aanroepen. Ook wordt ingegaan op het zogenaamde VBA Excel Object model en de properties en functies daarvanwaarmee Excel bestuurd kan worden. Verder kom aan de orde hoe databases vanuit Excel benaderd kunnen worden met het DAO, Data Access Objects, objectmodel. En tenslotte is er aandacht voor events en de afhandeling daarvan. Na het doorlopen van deze cursus zijn de deelnemers is staat vele taken in Excel teautomatiseren en grote hoeveelheden data te verwerken.

Module 1 : VBA Intro Module 2 : VBA Syntax Module 3 : Control flow

Macro’s in ExcelMacro’s opnemen en afspelenVisual Basic EditorProgrammeren in VBAEntering codeVBA CodeStatementsCommentsInteractie met de gebruikerMessagebox en Inputbox

VariabelenConstantenDeclaratiesData TypesModulesObjectenStapsgewijs uitvoerenBreakpointsDebuggenSyntaxfoutenFoutafhandeling

SelectiesIf StatementsElse StatementsIf Then ElseSelect caseIteratiesFor NextDo LoopWith end withArrays in VBA

Module 4 : Functies Module 5 : Excel Object Model Module 6 : Events

Wat zijn functies?ParametersArgumentenFuncties vindenFuncties definierenExcel functies gebruikenDialoogvensters maken

Excel objectenObject modelWerkmappenWerkbladenCellenRijen en kolommenWat is DAO?Data Access ObjectsExcel Database Access

Wat zijn EventsSoorten eventsReageren op eventsEvents afhandelenEvent functiesDomein functies

VBA300: Cursus VBA Access ProgrammerenCode: VBA300 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus VBA Access Programmeren Deze cursus is bestemd voor iedereen die VBA, Visual Basic for Applications, en het DAOobject model van Access wil leren om functionaliteit toe te voegen aan formulieren,rapporten en databases.

Voorkennis VBA AccessKennis van en ervaring met Access is vereist om aan deze cursus te kunnen deelnemen.Ervaring met programmeren is bevorderlijk voor een goede begripsvorming.

Uitvoering Training VBA Access ProgrammerenDe theorie wordt behandeld aan de hand van presentatie slides. Demo’s zorgen voorverduidelijking van de concepten. De theorie wordt afgewisseld met praktischeoefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering BA Access ProgrammerenDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat VBAAccess Programmeren.

Inhoud Cursus VBA Access ProgrammerenAan de orde komt hoe VBA, Visual Basic for Applications, kan worden gebruikt om inAccess te programmeren en hoe het DAO object model gebruikt kan worden om Access databases te benaderen. Met name wordt ingegaan op die onderdelen vanVBA Access die belangrijk zijn voor het aansturen van Access. De deelnemers leren hoe je met VBA informatie uit een Access database kan opvragen en hoe degegevens gesorteerd en gefilterd kunnen worden. Bovendien komt aan de orde hoe je formulieren en rapporten meer functionaliteit kunt geven met VBA Access. Ookwordt ingegaan op hetzogenaamde DAO, Data Access Object, object model en de properties en functies daarvan waarmee willekeurige database toegang mogelijkwordt. DAO is ook toepasbaar buiten VBA Access om. Tenslotte komt dan ook aan de orde hoe databases ook vanuit Word en Excel benaderd kunnen worden methet DAO object model.

Module 1 : VBA Intro Module 2 : VBA Syntax Module 3 : Control flow

Visual Basic EditorProgrammeren in VBAEntering codeVBA CodeStatementsCommentsStapsgewijs uitvoerenBreakpointsDebuggen

VariabelenConstantenOperatorenParametersArgumentenProceduresFunctiesModulesObjecten

SelectiesIf StatementsElse StatementsIf Then ElseSelect caseIteratiesFor NextDo LoopArrays in VBAMultidimensionale arraysDynamische array declareren

Module 4 : Events Module 5 : Formulieren Module 6 : DAO

Wat zijn EventsSoorten eventsReageren op eventsEvents afhandelenEvent functiesDomein functiesMsgBox in VBA

FormulierenKoppelen aan gegevensInformatie zoekenAutolookup queries gebruikenFormulieren synchroniserenBesturingselementen en veldenBerekende queryvelden gebruikenOpdrachten van AccessDoCmd in Access

Wat is DAOData Access ObjectsWerkgroepenRecord setsWord Database AccessExcel Database Access

XML100: Cursus XML IntroductieCode: XML100 Duur: 1 dag Prijs: € 400

Doelgroep Cursus XML Deze cursus is bedoeld voor projectleiders, systeemanalisten, applicatieontwikkelaars ensysteembeheerders die de basisconcepten van XML en de toepassingen van XML willenleren.

Voorkennis XML CursusOm aan deze cursus te kunnen deelnemen is basiskennis van het Internet en HTMLvereist.

Uitvoering Training XMLDe theorie wordt behandeld op basis van presentatie slides. De theorie wordt verduidelijktdoor middel van demo’s uit de praktijk. Na bespreking van een module, is er demogelijkheid te oefenen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Cursus XMLDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat XMLIntroductie.

Inhoud XML CursusIn de cursus XML Introductie leren de deelnemers de beginselen van XML. XML is eentaal voor het beschrijven van gestructureerde documenten en data en biedt de technologische basis voor het delen van data, publishing en e-business. In dezecursus krijgen de deelnemers een grondig begrip van de concepten in XML. Zowel de concepten als de toepassingen van de meta-taal XML komen aan de orde.Aandacht wordt besteed aan de syntax van XML documents en het verschil tussen well-formed en valid XML documents. De rol van Document Type Definitions(DTD) en XML Schema (XSD-bestanden) wordt besproken en ook een aantal op XML gebaseerde talen, zogeheten XML vocabulaires, komen aan de orde. Voortsworden de mogelijkheden voor het presenteren van XML documents behandeld, waarbij de focus ligt op het gebruik van eXtended Stylesheet and TransformationLanguage (XSLT). Tot slot worden verschillende toepassingen van XML in de praktijk besproken, waaronder Data Exchange, Publishing en Elektronic Commerce.

Module 1 : XML Introduction Module 2 : XML Syntax Module 3 : XML Validity

What is XML?XML versus HTMLRoots of XMLMarkup LanguagesBenefits of XMLXML TechnologiesApplications of XMLXML Validation with XML SchemaXML Presentation with StylesheetsXML Transport with Web Services

XML Document StructureCourse Catalog in XMLNode TreeXML PrologXML ElementsXML AttributesWell Formed DocumentsValid DocumentsProcessing InstructionsEntity ReferencesCDATA SectionsCharacter ReferencesCommentsNamespaces

Validating XML documentsDocument Type DefinitionDOCTYPE DeclarationInternal and External DTDElement Declaration in DTDAttribute Declaration in DTDLimitations of DTD’sXML Schema as DTD SuccessorDTD to XML-Schema ConversionXML-Schema VocabularyXML Schema NamespaceReferencing XML Schema’sSimple and Complex TypesXML Schema Data TypesUser Defined Data Types

Module 4 : XML Formatting

Separate Content and PresentationWhat is XSL?XSLT StylesheetsHow does XSLT work?What is XPath?Stylesheet BlueprintTemplatesxsl:value-ofxsl:for-eachxsl:ifUsing PredicatesApplying templatesXSLT as Transformation Language

XML150: Cursus XML FundamentalsCode: XML150 Duur: 2 dagen Prijs: € 850

Doelgroep XML Cursus Deze cursus is bedoeld voor projectleiders, systeemanalisten, applicatieontwikkelaars ensysteembeheerders die willen leren wat de basisconcepten van XML zijn en hoe en waarXML voor gebruikt kan worden.

Voorkennis Cursus XMLOm aan deze cursus deel te kunnen nemen is basiskennis van het internet en HTMLvereist. Kennis van databases en object georiënteerd programmeren is bevorderlijk voorde begripsvorming.

Uitvoering Training XMLDe theorie wordt behandeld aan de hand van presentatie slides. Demo’s verduidelijkende behandelde concepten. De theorie wordt afgewisseld met oefeningen. De cursustijdenzijn van 9.30 tot 16.30.

Officieel Certificaat Cursus XML FundamentalsDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat XMLFundamentals.

Inhoud XML Fundamentals CursusIn de cursus XML Fundamentals krijgen de deelnemers een grondig inzicht in de fundamenten van XML. De concepten van de meta taal XML evenals het gebruikervan worden besproken. Aandacht wordt besteed aan de syntax van XML documenten en het verschil tussen well-formed en valid XML documenten wordtbesproken. De rol van Document Type Definitions (DTD) en XML Schema’s (XSD-bestanden) komt aan de orde en het belang van de verschillende van XMLafgeleide talen, de zogeheten XML vocabulaires, wordt uitgelegd. Ook de verschillende manieren om XML documenten te presenteren passeren de revu. In ditverband ligt de nadruk op het gebruik van stylesheets in de eXtended Stylesheet en Transformatie Language (XSLT) en XPath om bepaalde delen van een XMLdocument te selecteren. De nieuwe XQuery standaard voor het benaderen van XML en relationele data komt ook aan de orde en de syntax en praktischetoepassingen van XQuery worden uitgelegd. Ook wordt aandacht besteed aan Web Services voor het uitwisselen van gegevens tussen heterogene gedistribueerdesystemen en de bijbehorende standaarden zoals SOAP en WSDL. Tenslotte wordt het benaderen van een XML-document vanuit een programmeertaal met de DOMen SAX API besproken.

Module 1 : XML Introduction Module 2 : XML Syntax Module 3 : XML Validity

What is XML?XML versus HTMLRoots of XMLMarkup LanguagesBenefits of XMLXML TechnologiesApplications of XMLXML Validation with XML SchemaXML Presentation with StylesheetsXML Transport with Web Services

XML Document StructureCourse Catalog in XMLNode TreeXML PrologXML ElementsXML AttributesWell Formed DocumentsValid DocumentsProcessing InstructionsEntity ReferencesCDATA SectionsCharacter ReferencesCommentsNamespaces

Validating XML documentsDocument Type DefinitionDOCTYPE DeclarationInternal and External DTDElement Declaration in DTDAttribute Declaration in DTDLimitations of DTD’sXML Schema as DTD SuccessorDTD to XML-Schema ConversionXML-Schema VocabularyXML Schema NamespaceReferencing XML Schema’sSimple and Complex TypesXML Schema Data TypesUser Defined Data Types

Module 4 : XML Formatting Module 5 : XQuery Module 6 : XML Programming

Separate Content and PresentationWhat is XSL?XSLT StylesheetsHow does XSLT work?What is XPath?Stylesheet BlueprintTemplatesxsl:value-ofxsl:for-eachxsl:ifUsing PredicatesApplying templatesXSLT as Transformation Language

What is XQuery?XQuery MotivationXQuery Design GoalsXQuery Processing ModelTypes of QueriesWhere is XQuery used?XQuery and other TechnologiesBasic Syntax RulesSelecting NodesXPath ExpressionsFLWOR ExpressionsStructure of an XQuery ModuleXQuery FunctionsElement ConstructorsConditional Expressions

What is parsing?XML Processing OptionsThe XML DOMBuilding a DOM TreeNode Interface ModelXML Access through DOMNavigation and ManipulationSimple API for XMLSAX OperationSAX CallbacksXML Parsing ModelsPull Parsing versus Push ParsingWhat is JAXB?JAXB versus DOM and SAXJAXB ArchitectureJAXB Binding Life Cycle

Module 7 : XML Web Services

What is a Web Service?Role of InterfaceInteroperability

Web Service StackRPC Style Web ServicesDocument Style Web ServicesWhat is SOAP?SOAPStructure SOAP MessageSOAP Messages as PayloadSOAP HeaderWhat is WSDL?Basic Structure WSDLWSDL and Code generationService OrientationWS Standards Overview

XML200: Cursus XSLT StylesheetsCode: XML200 Duur: 3 dagen Prijs: € 1300

Doelgroep Cursus XSLT Stylesheets Deze cursus is bestemd voor applicatie developers, web developers en project managersdie willen leren hoe XSLT kan worden toegepast voor XML formattering en transformatie.

Voorkennis XSLT StylesheetsOm aan deze cursus te kunnen deelnemen is kennis van HTML en XML vereist. Ervaringmet programmeren is bevordelijk voor een goede begripsvorming.

Uitvoering Training XSLT StylesheetsDe theorie wordt besproken aan de hand van presentatie slides. Demo’s zorgen voor eenverheldering van de theorie. De theorie wordt afgewisseld met oefeningen. Decursustijden zijn van 9.30 tot 16.30.

Certificering XSLT StylesheetsDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat XSLTStylesheets.

Inhoud Cursus XSLT StylesheetsIn deze cursus komt aan de orde hoe XSLT, eXtensible Stylesheet en TransformationLanguage, kan worden gebruikt voor het formatteren en transformeren van XMLdocumenten. Zowel aan de veel gebruikte XSLT versie 1.0 als aan de recentere XSLT versie 2.0 wordt aandacht besteed. De cursus gaat in op transformaties vanXML naar HTML, maar ook XML naar XML transformaties staan op het programma. Verder wordt aandacht besteed aan het navigeren door XML documenten viaXPath expressions en worden de diverse zoekassen van XPath uitgelegd. Een belangrijk element van XLST is het principe van de template matching en dit vormtdan ook het centrale element van de cursus. De XSLT elementen die te maken hebben met flow control worden besproken, evenals die voor het kopiëren vanelementen. Voorts komt het gebruik van generieke templates en het gebruik van apply-templates aan de orde en worden ook named templates en het aanroependaarvan met call-template besproken. De transformatie van attributen naar elementen en vice versa passeert eveneens de revu. Het verschil tussen het toepassenvan een XSLT transformaties op de client side versus het toepassen daarvan op de server side van applicaties is een volgend onderwerp in de cursus. En tenslottewordt gekeken naar transformaties van XML naar diverse andere formaten. In dit opzicht is een aparte module gewijd aan de transformatie taal XSL-FO entransformaties naar PDF.

Module 1 : XSL Intro Module 2 : XML to HTML Transformation Module 3 : XPath 1.0

The XSL FamilyWhat is XSLT?What is XPath?XSL’s positionXSLT StylesheetsXSLT ProcessingStyleSheet BlueprintThe XSLT VocabularyTemplate Rulesxsl:apply-templatesXSLT Document StructureResultsxsl:outputXSLT ProcessorsProcessors ImplementationsXSLT Extensions

Transformation to HTMLAdding a stylesheetHTML in XSL StylesheetExtracting values from XMLNavigating the XML documentUsing PredicatesIterating through XML elementsCreating a HTML TableAbsolute and relative pathConditional ProcessingAccessing other document partsUsing the ..// operatorOther ways to access XML dataAccess XML data with NodelistsInternal hyperlinkingNumberingSortingXHTML

XPath ExpressionsXPath Node TypesXPath ContextXPath Location StepsPeer Axis TypesDescendent Axis TypesAncestor Axis TypesLocation Path SyntaxPredicatesFunctionsXPath 1.0 OperatorsXPath 1.0 FunctionsNode Tests in XPathXPath 1.0 Data TypesNamespace Nodes

Module 4 : XSLT variables Module 5 : XSLT and XPath Functions Module 6 : XML to XML transformation

xsl:variablexsl:variable with subtreeScope and working of xsl:variableGlobal VariablesChanging VariablesTracing outputxsl:paramPassing Parameters to templatesNamed templatesCall by reference

concat functioncontains functionsubstring functionstarts-with functiontranslate functionarithmetic functionsdocument functionid generationXSLT 2.0 and XPath 2.0 functionsUsing curly braces

Transformation languageExample Filteringxsl:elementXML Document StructureLosing AttributesSelecting all elements and attributesUsing the name functionxsl:attributeDocument copyGeneralizationDefault template rulesMultiple applicable rulesxsl:importWhite space handling

Module 7 : XPath 2.0 Module 8 : XSLT 2.0 Module 9 : XSL-FO

XPath 2.0 ChangesXPath 2.0 Data Model

XPath 2.0Typing

What is XSL-FO?XSL-FO Documents

SequencesFor ExpressionsConditional Expressions

Temporary TreesSequencesUser-Defined FunctionsGroupingMultiple Result TreesText ProcessingStylesheet Structure

Layout Master set and page mastersBasic XSL-FO Document structureXSL-FO AreasXSL-FO PagesStatic content and flowsPage SequencesTree for pagination

XML222: XPath EssentialsCode: XML222 Duur: 1 dag Prijs: €

XML300: Cursus XML SchemaCode: XML300 Duur: 3 dagen Prijs: € 1600

Doelgroep XML Schema Cursus Deze cursus is bedoeld voor developers van XML data structuren en XML applicaties enproject managers die XML Schema’s willen gebruiken om de inhoud van XMLdocumenten te valideren.

Voorkennis Cursus XML SchemaVoor deelname aan deze cursus is kennis van de basis syntax van XML vereist.

Uitvoering Training XML SchemaDe theorie wordt besproken aan de hand van presentatie slides. Demo’s dienen terverheldering van de theorie. Er is ruime gelegenheid tot het doen van praktischeoefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering Cursus XML SchemaDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat XMLSchema.

Inhoud XML Schema CursusIn deze cursus wordt de syntax en het gebruik van de XML Schema taal, als opvolger vanDocument Type Definitions (DTD) behandeld. XML Schema wordt gebruikt voor validatievan XML documenten en om XML vocabulaires te definieren waarin de structuur, element namen en de element inhoud van XML documenten worden vastgelegd.Verschillende XML Schema design modellen worden besproken, zoals Russian Doll, Salami Slice en Venetian Blind. Aandacht wordt besteed aan de declaratie vansimpele en complexe elementen en types en aan het opleggen van restricties aan de inhoud van de elementen. Ook de creatie van user defined simpele data typesmet facetten en regular expressions komt aan de orde. Namespacing is een belangrijk onderdeel in de XML Schema specificatie en krijgt veel aandacht in de cursus.Ook de creatie van complexe derived datatypes en het verschil tussen derivation door restriction en derivation door extension worden besproken. Verder wordtaandacht besteed aan modularisatie van schema’s en het gebruik van de include en import mechanismen. Tot slot komen een aantal geavanceerde onderwerpenaan de orde zoals Open Content Models, hoe XML Schema omgaat met keys en referenties en het verwijderen van redundantie door identity constraints.

Module 1 : XML-Schema Intro Module 2 : XML Schema Basics Module 3 : XML Schema Models

Why XML Schema?What is XML Schema?Markup LanguagesWell Formed and Valid DocumentsDocument Type Definition (DTD)DTD ExampleDTD LimitationsXML Schema as DTD SuccessorXML Schema FeaturesTypical Use of XML SchemaUse of XML SchemaOther Uses of XML SchemaParsers and ValidationSchema Validators

XML Schema ComponentsDTD to XML Schema ConversionDTD VocabularyXML Schema VocabularyTarget VocabularyXML Schema for Courses ListReferencing XML SchemaXMLSchema-instance NamespaceMultiple Levels of CheckingElement CardinalitySimple and Complex TypesSimple Type Restricted to IntegerComplex Type with Attribute

Declaration versus DefinitionGlobal versus LocalElement DeclarationsGlobal and Local DeclarationsReferencing Global DeclarationsAnonymous and Named TypesThree Design ApproachesSalami Slice DesignRussian Doll DesignVenetian Blind DesignCombined DesignDesign Comparisons

Module 4 : XML Schema Data Types Module 5 : Derived Simple Types Module 6 : XML Schema Documentation

Stronger Data TypingXML Schema Data TypesString Data TypesLanguage Data TypeName TypesID TypesQualified Names and URI’sBinary String Encoded TypesPrimitive Numeric Data TypesDerived Numeric Data TypesBoolean Data TypedateTime Data TypeDate Data TypesDuration and Time Data Typesur-type and anyType

Creating Simple TypesDerived Numeric Simple TypesSimple Types by RestrictionAvailable FacetsDerived String using EnumerationDerived String using PatternUsing Multiple FacetssimpleType from simpleTypeFixing Facet ValuesRegular ExpressionsMeta CharactersQuantifiersCharacter ClassesList Type and simpleTypesUnion type and simpleTypes

Annotating Schema’sAllowed LocationsAnnotation LocationInlining AnnotationOptional AttributesDefining Semantics

Module 7 : Namespaces Module 8 : Complex Types Module 9 : Derived Complex Types

What are Namespaces?Namespaces of XML SchemaXML Schema NamespaceTargetNamespaceReferencing XML SchemaNamespace ScopeDefault Namespace

Simple Content and AttributesStronger Data TypingLocal Attribute Declarationsuse AttributeGrouping AttributesGrouping ElementsGlobal Group Definition

Derived Complex TypesDeriving by ExtensionDeriving by RestrictionProhibiting DerivationsElement SubstitutionSubstitutable ElementsInternational Clients

Symbol SpacesName ConflictsWhat is in the Namespace?Namespace QualificationelementFormDefaultattributeFormDefaultRules for using Namespaces

Choice ElementRepeatable ChoiceFixed Element ValuesDefault Element ValuesSequence and ChoiceAny order with allEmpty elementnil contentMixed Content

substitutionGroup FeaturesSubstitution with Derived TypesBlocking Element SubstitutionTransitive and Non-SymmetricAbstract ElementsAbstract complexType

Module 10 : Schema Modules Module 11 : Schema Extensions Module 12 : Uniqueness and Keys

Schema ModularizationIncluding Schema DocumentsUsing includeChameleon EffectNamespace CoercionRedefining TypesUsing redefineSyntax redefineRedefine no targetNamespaceImporting Schema DocumentsUsing importImported Schema’s

any ElementExtension ElementInstance with anyNamespace Extension ElementsanyAttribute ElementExtension AttributeInstance with anyAttributeNamespace Extension AttributesOpen ContentGlobal OpennessLocal Openness

Uniqueness and KeysUnique versus KeyKey RequirementsCombination KeyUniqueUnique ElementsKey Referencingkey and keyref

XML500: Cursus XQueryCode: XML500 Duur: 3 dagen Prijs: € 1350

Doelgroep Cursus XQuery Deze cursus is bestemd voor developers die de XML vraagtaal XQuery in de praktijkwillen toepassen voor het selecteren van XML data.

Voorkennis XQueryOm aan deze cursus te kunnen deelnemen is kennis van HTML en XML vereist. Ervaringmet programmeren en Structured Query Language (SQL) is bevordelijk voor een goedebegripsvorming.

Uitvoering Training XQueryDe theorie wordt besproken aan de hand van presentatie slides. Demo’s worden gebruiktom de theorie te verduidelijken. Hands-on oefeningen spelen een belangrijke rol. Er wordtgebruik gemaakt van moderne XQuery tools. De cursustijden zijn van 9.30 tot 16.30.

Certificering XQueryDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaatXQuery.

Inhoud Cursus XQueryIn de cursus XQuery is de XQuery query taal voor het benaderen en selecteren van XMLdata het centrale onderwerp. De deelnemers leren de toepassingen en de reikwijdte van XQuery. Aandacht wordt besteed aan de syntax van XQuery, de XQueryspecificatie en de onderdelen van XQuery. Ook de relatie van XQuery met andere XML vocabulaires zoals XPath, XSLT en XML Schema wordt besproken. Verderkomen de data types, ingebouwde functies van XQuery en de verschillende XQuery expressions aan de orde. Veel aandacht is er voor verschillende varianten vande zogeheten flower expression, de kenmerkende XQuery expression. Tot slot wordt aandacht besteed aan een aantal meer geavanceerde toepassingen vanXQuery zoals joins, het gebruik van XQuery in combinatie met andere technologieën en voor het benaderen van relationele data.

Module 1 : XQuery Introduction Module 2 : XQuery Syntax Module 3 : Node Selection with XPath

What is XQuery?XQuery MotivationXML versus relational modelRequirements Query Language for XMLThree parts of XQueryXQuery Language CharacteristicsTypes of QueriesPhysical Representations to QueryWhere is XQuery used?XQuery’s positionXQuery and other technologiesXQuery Specifications

Basic Syntax RulesXQuery FunctionsStructure of an XQuery ModuleExample XQuery ModuleXQuery ExpressionsExample Books.xmlPath ExpressionsPredicatesElement ConstructorsOther Query ExpressionsFLWR ExpressionsConditional ExpressionsXQuery Comparisons

XPath 2.0 ExpressionsXPath 2.0 Data ModelXPath 1.0 Data TypesXPath 2.0 ChangesXPath 2.0 sequencesXPath ContextXPath Location StepsWhat is an Axis?Peer Axis TypesDescendent Axis TypesAncestor Axis TypesLocation Path SyntaxPredicatesFor expressionsQuantified expressionsConditional expressionsFunctions

Module 4 : XQuery Data Types Module 5 : Joins and Node Generation Module 6 : Functions and operators

XPath 2.0 data ModelInfoset and PSVIThree Building BlocksItemsAtomic TypesAtomic ValuesXQuery Type HierarchyXML Schema TypesString TypesDate and Time TypesNumeric TypesBinary Data Types

Expressing JoinsConstructing NodesFLWR ExpressionsFor versus LetElement ConstructorsAttribute ConstructorsText ConstructorsOther ConstructorsSample Queries

Functions and OperatorsXPath 1.0 FunctionsXQuery 1.0 FunctionsFunctions with Regular ExpressionsEnhanced String FunctionsFunctions for SequencesXPath 1.0 OperatorsXQuery 1.0 OperatorsComparision OperatorsTypes IssuesConstructor FunctionsUser Defined Functions

Module 7 : Advanced Concepts

String SearchQueries using NamespacesListing NamespacesListing Target URI’sRecursive parts ExplosionAccess to relational Data

XML505: Cursus XBRL OverviewCode: XML505 Duur: 1 dag Prijs: € 550

Doelgroep XBRLCursus De cursus XBRL Overview is bedoeld voor accountants en financieel specialisten diewillen leren hoe XBRL documenten moeten worden gelezen en begrepen.

Voorkennis Cursus XBRLOm aan deze cursus te kunnen deelnemen is kennis van de basis syntax van XML nodig.

Uitvoering Training XBRL OverviewDe concepten worden behandeld aan de hand van presentatie slides. Demo’s dienen teverduidelijking van de theorie. De theorie wordt afgewisseld met oefeningen. Decursustijden zijn van 9.30 tot 16.30.

Certificering Cursus XBRLDe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat XBRLOverview.

Inhoud XBRL Overview CursusDe cursus XBRL Overview behandelt de basis concepten van de Extensible BusinessReporting Language (XBRL). XBRL is een XML vocabulaire dat wordt gebruikt voor hetuitwisselen van in het bijzonder financiële gegevens. Na de bespreking van XBRL alsmijlpaal en als standaard voor financiële informatie uitwisseling, worden een aantal specifieke toepassingen van XBRL behandelt. Er wordt besproken hoe conceptrapporten kunnen worden omgezet in XML tags en hoe meta-informatie aan deze tags wordt toegewezen. Er wordt ook besproken hoe XBLR documenten op XMLSchema’s kunnen worden gebaseerd en hoe business rules kunnen worden afgedwongen. Voorts wordt aandacht besteed aan de creatie van documenten, hetspecificeren van numerieke contexten en attributen en de representatie van complexe types met tupels. Tot slot komen enkele toepassingen van XBRL aan de ordeen wordt ingegaan op de uitbreidbaarheid van XBRL.

Module 1 : XBLR Intro Module 2 : Taxonomies Module 3 : XBRL Filing

What is XBRL?Taxonomy and InstanceToolingFinancial Reporting OverviewStandards and RegulationsLegacy WorkflowXBRL SolutionXBRL Data ValidationXBRL and Financial ReportingStandardsProducing an XBRL ReportTaxonomiesSelecting a TaxonomyInstancesBusiness Report

Intro to TaxonomiesElementsAttributesMore AttributesBasic AttributesRelationshipsLinkbasesAccountants NoteExample Elements and AttributesMultidimensional DataDemoValidation

Intro XBRL FilingXBRL Filing ToolsAccountants NoteIterative ProcessFinancial Statement vs TaxonomyModel Extension TaxonomyMapping Financial StatementsCreate Instance and CodeXBRL and Financial ReportingGenerate Financial Report

Module 4 : Extension Taxonomies Module 5 : Mapping Financial Data Module 6 : Generating Reports

Extension TaxonomyCreate new TaxonomyNamespacesXBRL NamespacesCreating a NamespaceXLinkXLink ExampleAdding LinkbasesTech Note ElementsAdding ElementsTech Note Link RolesAdding Link RolesTech Note RelationshipsLocators and ArcsCreating RelationshipsPresentation Relationships

Mapping IntroImportingImporting Source DataImporting a TaxonomyMappping Dimension ValuesMapping ContextMapping FactsMapping FootnotesComplete MappingEditing Default UnitsOptions and PropertiesFunctions and FiltersHypercubesTypes of HypercubesEditing Hypercubes

Report IntroBasic ConceptsCreating and SPSTaxonomy StructureBuilding a Basic SPSFormattingStyle RepositoryTable WizardUsing Table WizardGenerating Reports

XML700: Cursus XSL-FOCode: XML700 Duur: 2 dagen Prijs: € 999

Doelgroep Cursus XSL-FO Deze cursus is bedoeld voor developers die de opmaak van XML en de layout vandocumenten met XSL-FO willen leren.

Voorkennis XSL-FOOm aan deze cursus deel te kunnen nemen is basis kennis van XML en HTML vereist.Ervaring met programmeren is bevordelijk voor een goede begripsvorming.

Uitvoering Training XSL-FODe onderwerpen worden besproken aan de hand van presentation slides. Demo’s wordengebruikt om de behandelde concepten te verduidelijken. De theorie wordt afgewisseld metoefeningen. De cursustijden zijn van 9.30 tot 16.30.

Certificering XSL-FODe deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat XSL-FO.

Inhoud Cursus XSL-FOIn de praktische cursus XSL-FO leren developers XSL Formatting Objects te gebruiken omgeavanceerde scherm of print layout van de XML data te produceren. De rol van XSLT bijde aanmaak van XSL-FO documenten en de rol van XSL-FO processors voor het produceren van andere output zoals PDF worden toegelicht. Aandacht wordtbesteed aan de layout master set en de verschillende page masters die kunnen worden gekozen. Ook het verschil tussen statische content en page flow content komtaan bod. Het gebruik van vele elementen en attributen van de XSL-FO taal wordt in detail behandeld. Zowel open source tools als XML Spy worden gebruikt voor deuitvoering van deze cursus.

Module 1 : XSL-FO Intro Module 2 : Blocks and Inlines Module 3 : Page Layout

An XSL-OverviewXPath, XSLT and XSL-FOThe XSL-FO ProcessorOutput from the Processor (PDF, Postscript, RTF)About Shorthand, Short Form and InheritanceThe Structure of an XSL-FO Document

Blocks and InlinesFormatting BlocksBox ModelBorderSpace, Indent and PaddingBackgroundFormatting TextInline ElementsInheritance wrapperCreating Listslist-blocklist-itemlist-item-labellist-item-bodyWhitespace

About Pagination – Simple and ComplexWorking with Page SequencesWorking with AreasArea Types, Area ComponentsArea PositioningBlock and Inline ElementsTables and ListsWorking with Graphics and ColorCharacter Properties and Fonts

Module 4 : Page Flow Module 5 : Additional Content

Cross Document LinksCreating and IndexCreating a Table of ContentsWorking with HeadersPage Layout and FlowStylesheet Considerations

Links and GraphicsExternal LinksGraphicsInternal LinksLeaders, Markers and Page NumbersThe OutputLeadersColumns, Keeps, and BreaksColumnsKeepsBreaks