SlideShare a Scribd company logo
BY: Yaniv Uriel
Mail: maia.yaniv@gmail.com
AMF
• Coming soon 
RPC
• remote procedure call (RPC) is an inter-process communication that allows a computer program to
cause a subroutine or procedure to execute in another address space without the programmer
explicitly coding the details for this remote interaction.
Serialization
• serialization is the process of converting a data structure or object into a sequence of bits so that it
can be stored in a file or memory buffer, or transmitted across a network connection link to be
"resurrected" later in the same or another computer environment.
RTMP
• RealTime Messaging Protocol (RTMP) is a proprietary protocol developed by Macromedia
for streaming audio, video and data over the Internet, between a Flash player and a server.
RTMPS
• which is RTMPT over a secure SSL connection using HTTPS
AMF - SomeTerms
“Action Message Format (AMF) is a compact
binary format that is used to serialize ActionScript
object graphs” From: AMF 3 Specification
Compact
Binary
Serialize and De Serialize
ActionScript
Object
What is AMF
• AMF was introduced in Flash Player 6 in 2001
• Remained unchanged until AS2 Flash Player8
•This version of AMF is referred to as AMF0
• In Flash Player 9, Action Script 3.0 – AMF3 with
new data types and optimization
•AMF3 Specification
AMF History

Recommended for you

IoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukeboxIoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukebox

This is the slides ProcessOne IoT Studio session #1. At the core of the discussion is an introduction to Internet of Things protocols. Here are the topics / questions that I have been addressing: - What are the main classes of protocols for the Internet of Things ? - What are the strengths of XMPP for the Internet of things ? - What are the main XMPP Extensions for building the Internet of Things ? - How can I leverage XMPP to build a real device / appliance ? As such, the session ends with a hands-on demonstration of a Soundcloud connected Jukebox built with: - Raspberry Pi 2 - Connected to ejabberd - Client is developed in Go using Go XMPP library Gox Video of the session is available on Youtube: https://www.youtube.com/watch?v=YtommTbCxCc

iotgolangxmpp
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo Data

This document discusses Alfresco demo data, which allows users to quickly create test instances with predefined bootstrap data. It works by exporting authoritative data, models, workflows and sites from one Alfresco repository and importing them into another. The project is open source and hosted on GitHub. It provides APIs to export and import data without requiring extensive configuration.

ecmalfrescoopen source ecm
Wcf Transaction Handling
Wcf Transaction HandlingWcf Transaction Handling
Wcf Transaction Handling

This is the presentation of my session presented for Hyderabad Techies. I must pay my thanks to Shiv Prasad Koirala and Chandershekhar Thota :)

gaurav arorawcfhyderabad techies
Size of AMF Object.
Fast serialization / de serialization.
AMF is parsed directly to an object.
Native Type and custom class support.
Low bandwidth and CPU
•Compared with HTML JSONYAML XML (SOAP)
Send Object By Reference (AMF 3)
Benefits (why use it?)
amf vs xml vs ajax
James Ward – RIA Cowboy
jamesward benchmark
AMF/Remoting vs. Web Services Benchmark
Bench Mark
No DisplayObject (and descended objects)
Native Types and Custom class.
Compression (zlib)
Pitfalls
Binary format
• Hard to read
Complex Backend
• Server errors influence client
• Server side elopers needed
Organization learning curve.
AMF is not the answer for all the problems.
Downsides

Recommended for you

Simon Jia - The Kohana Framework
Simon Jia - The Kohana FrameworkSimon Jia - The Kohana Framework
Simon Jia - The Kohana Framework

Kohana is an elegant PHP5 framework that provides components for building web applications. It uses the HMVC design pattern and features a cascading filesystem, routing, validation, and modules. Modules allow reusable code to be developed independently and then included in applications. Kohana's routing provides easy URL mapping to controllers and supports regular expression patterns. Validation helps avoid nested if/else statements. Cracked.com uses Kohana for its comedy website serving 15 million daily page views, employing caching, opcode caching, and profiling for scalability.

laphpkohana
Intro To Alfresco Part 3
Intro To Alfresco Part 3Intro To Alfresco Part 3
Intro To Alfresco Part 3

Slide deck from an Alfresco Webinar. Event info can be found at http://blogs.alfresco.com/wp/webcasts/2009/05/alfresco-webcast-developers-guide-3-web-scripts-surf-cmis-optaros/ This presentation discusses web scripts and Surf.

jeff_pottsecmarchitectoptaros
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...

As the leading provider of Open Source Enterprise Content Management, Alfresco is uniquely placed in providing a robust, scalable, feature rich content platform at a fraction of the cost of traditional solutions. Alfresco Enterprise Content Management includes: * Document Management * Web Content Management * Records Management * Team Collaboration * Digital Asset Management This slide deck (and related webinar) presented the requirements for enterprise scale rollout and an “Enterprise Top 10 Decision Matrix”. It was based on customer experience to guide selection. It gave an overview of Alfresco Enterprise Edition, explained what is coming in Alfresco Enterprise 3.2, how it compares to the Alfresco Community Edition and how commercial, enterprise class Open Source means: * A Full Service Level Agreement not “unsupported” * Support for both Open Source and Commercial Stacks * Supporting Sites with Millions of Users and Terabytes of Content through External Authentication, Load Balancing and Clustering * High-Availability with Clustering and Run-Time Reconfiguration * Live JMX System Monitoring and Configuration Reporting * Information Lifecycle Management Learn why Alfresco is the lowest risk, lowest cost way to successfully deploy Alfresco in the Enterprise

proprietarytcoroi
Client side
•Flash platform – build in support
•Other open source reversed engineered
Servers side:
•Depend on technology (PHP, Java .net, Ruby on
Rails…).
•Depend on platform (Windows  Linux Unix).
•Depend on knowledge.
Where to get it
AMFEXT PHP Extension.
• Written in C, fast encoding and decoding of AMF0 and AMF3 messages.
• Looking for a new maintainer since July 2008.
• PHP Frameworks.
AMFPHP
• Simple and powerful
• Works since Flash MX 2004
• Optional support for AMFEXT
CakeAMFPHP
• Easy to use with CakePHP, requires AMFEXT
• Development stalled
Servers for PHP
SabreAMF
• Server and Client
• PHP5 only
• Compliant to PHP Strict Mode
WebORB for PHP
• Well documented, commercial support available
• Management Console includes Service Browser,Testing and Security Management
• Code Generators forActionScript Remoting, Cairngorm and PureMVC
Zend AMF
• Easy to use with Zend Framework
• PHP is very widespread
• Promoted by Adobe
More for PHP
Cold Fusion
• Supports serialization to AMF
• Easy to use
• Supported by Adobe
Could Fusion

Recommended for you

Log management system for Microservices
Log management system for MicroservicesLog management system for Microservices
Log management system for Microservices

How to design Log Management System for microservices architect. Focus on Log classification, with two groups: Business Log and Operation Log.

microservicesloggingteamcrop
Presentation Zarafa Mailbridge
Presentation Zarafa MailbridgePresentation Zarafa Mailbridge
Presentation Zarafa Mailbridge

MailBridge provides a scalable IMAP interface to access messages stored in Zarafa and allows Dovecot to access messages through MAPI. It uses Zarafa's incremental change system and monitors Dovecot and Zarafa events to instantly update changes between the two systems. MailBridge is open source under AGPL 3.0 and available on the Zarafa Community Hub.

zarafa summercamp2011
What’s New In Cincom Smalltalk
What’s New In Cincom SmalltalkWhat’s New In Cincom Smalltalk
What’s New In Cincom Smalltalk

- ObjectStudio 8 has been released and provides a full re-implementation of ObjectStudio with improved performance and access to VisualWorks facilities. - The Virtual Machine is being optimized for 64-bit systems and different platforms like Mac OS X. A new widgetry framework is being developed to replace the old wrapper system. - Seaside is a new initiative to create a lightweight web framework modeled after Ruby on Rails. It has a working port to VisualWorks and integration with the database and other VisualWorks facilities. - Improvements are also being made to networking, internationalization, deployment, scripting, and other areas.

 
by ESUG
esugoopesug2007
RED5
• Mainly for Audio- and Video Streaming
• Supports AMF Remoting, too
Blaze Data Services (BlazeDS)
• Open Source (GPLv3)
• Shares codebase (messaging and remoting) with LiveCycle Data Services SE
• Rich set of features
• Supports streaming channels over HTTP
• Includes Tomcat 6 Application Server (easy to deploy)
• LiveCycle Data Services Community Edition
• Certi?ed builds of BlazeDS
• Developer and Enterprise Support
More…
Java
PyAMF
• Integration with Python web frameworks like Django, Pylons,Twisted, CherryPy, ...
• Scales well if used with mod_python, mod_wsgi, ...
• Possible to run on Google App Engine
• RTMPy is a protocol forTwisted
• Based on PyAMF
• Implementing RTMP
• Still in development
Python
Ruby on Rails
• RubyAMF
• Very easy for Rails Developers to get started
• Flexible and extensible
• Scales well if Rails is used withThin, lighttpd, nginx, Phusion Passenger (mod_rails), ...
WebORB for Rails
• Based on Ruby on Rails
• Tight integration of ActiveRecord
• Commercial support available
RubyIZUMI
• RTMP Server for streaming Flash video/audio (H.264)
• Based on EventMachine (fast single-threaded socket engine)
• Experimental - not ready for production use
Ruby
AMF.NET
• Implemented as an HttpHandler, easy to install
• Very simple
WebORB for .NET
• Easy to install (only on Microsoft IIS)
• Commercial support available
FluorineFx
• Supports RTMP
• Template based code generator
• Includes a Service Browser
Blaze Data Services for .NET (BlazeDS.NET) ?????
.NET

Recommended for you

SUTOL 2016: IBM Connections Deployment Best and Worst Practices
SUTOL 2016: IBM Connections Deployment Best and Worst PracticesSUTOL 2016: IBM Connections Deployment Best and Worst Practices
SUTOL 2016: IBM Connections Deployment Best and Worst Practices

The document summarizes best practices and recommendations for deploying IBM Connections. It discusses preparing for the installation, including downloading required software, checking system requirements, and creating installation documentation. It also provides tips for configuration such as sizing appropriately, installing fixes, registering WebSphere Application Server as a service, configuring directories and synchronization, and adjusting log settings. The document emphasizes following IBM's documentation carefully and having a plan to optimize performance.

ibm connectionssutollinux
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1

Christophe Romain (ProcessOne) introduces Docker and ProcessOne work in progress to support Docker-based ejabberd deployments.

xmppdockerejabberd
Sutol - A Hitchhiker’s Guide to troubleshooting IBM Connections
Sutol - A Hitchhiker’s Guide to troubleshooting IBM ConnectionsSutol - A Hitchhiker’s Guide to troubleshooting IBM Connections
Sutol - A Hitchhiker’s Guide to troubleshooting IBM Connections

A Hitchhiker’s Guide to troubleshooting IBM Connections as given at SUTOL16 in Prague with Roberto Boccadoro

logsconnections administratortroubleshooting
WebORB
Key Features
• Developer ProductivityTool
• management console, code generation,
• service browser,
• invocation test drive, project templates,
• FlexBuilder plugin, Eclipse plugins,
• command line tools,
• built-in examples
• Multi-Client Support - Flash, Flex, Silverlight, AJAX
• Flash, Flex, Silverlight, AJAX
• Security
• custom authentication, custom authorization,
• role-based security,
• graphical configuration
• Performance Monitoring
• server-side instrumentation
• Real-Time Messaging
• data push, producer-consumer
• model, MSMQ and JMS
• integration, remote shared
• objects, message broadcast
WebORB - More
• Video Streaming
• streaming flash video, video broadcast,
• server initiated video,
• video recording, video chat
• Extensibility Features
• custom object serialization,
• abstract argument mapping,
• object factories, invocation chain,
• custom object activation, special attributes,
• security handlers
• Solid Product Roadmap
• always adding new features to increase the value of your investment
WebORB …
WebORB installation and configuration
Creating an a flex project
Remoting samples
REAL TIME Massaging (chat application, video
chat application
Client side as method invocation
How to use it

Recommended for you

Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyser

The document summarizes lessons learned from building a real-time network traffic analyzer in C/C++. Key points include: - Libpcap was used for traffic capturing as it is cross-platform, supports PF_RING, and has a relatively easy API. - SQLite was used for data storage due to its small footprint, fast performance, embeddability, SQL support, and B-tree indexing. - A producer-consumer model with a blocking queue was implemented to handle packet processing in multiple threads. - Memory pooling helped address performance issues caused by excessive malloc calls during packet aggregation. - Custom spin locks based on atomic operations improved performance over mutexes on FreeBSD/

c++libpcaplinux
XMPP Academy #2
XMPP Academy #2XMPP Academy #2
XMPP Academy #2

- Backends in ejabberd are pluggable modules that store data to provide to feature modules. This allows ejabberd to be more stateless. Common backends include Mnesia, MySQL, PostgreSQL, Riak, and custom backends. - Message carbons allow messages to be copied to all connected clients so the full conversation history is visible, but they do not work in MUC rooms due to the anonymous nature of MUC chats. - To learn XMPP, it is best to start at the protocol level by using a client like PSI that allows inspecting and crafting XMPP packets directly rather than starting from libraries that abstract the protocol.

muccarbonsxmpp
Cloud computing-2 (1)
Cloud computing-2 (1)Cloud computing-2 (1)
Cloud computing-2 (1)

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. Key characteristics of cloud computing include on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service. Cloud computing provides opportunities for lower costs, improved performance and scalability, universal access to documents and data, and easier collaboration. However, it also poses disadvantages such as reliance on a constant internet connection and potential security and availability issues.

cloud computing
WebOrb Plug-in for Flash Builder
WebOrb Dev Den
Tour De Flex
Adobe Developer Connection
android-xmlrpc
• xmlrpc client side library for Android platform
Ajax and Flex Data Loading Benchmarks
AMF 3 Specification
Useful resources
Efficiency
• Enhanced User Experience
• Greater User Acceptance
• Helps to save the planet (lower energy consumption)
Ease of Use
• Intuitive way of working with data
• Less hassle, higher quality
• Have more time for creative ideas, or
• Spend more time with your loved ones
AMF is not always the right thing
• Consider alternatives (E4X, SWX, JSON, ...)
• Proof your design by a working prototype
Summery
The End

More Related Content

What's hot

Design-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline ComponentsDesign-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline Components
Daniel Toomey
 
Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014
Toni de la Fuente
 
Sutol How To Be A Lion Tamer
Sutol How To Be A Lion TamerSutol How To Be A Lion Tamer
Sutol How To Be A Lion Tamer
Sharon James
 
IoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukeboxIoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukebox
Mickaël Rémond
 
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo Data
Alfresco Software
 
Wcf Transaction Handling
Wcf Transaction HandlingWcf Transaction Handling
Wcf Transaction Handling
Gaurav Arora
 
Simon Jia - The Kohana Framework
Simon Jia - The Kohana FrameworkSimon Jia - The Kohana Framework
Simon Jia - The Kohana Framework
Caroline_Rose
 
Intro To Alfresco Part 3
Intro To Alfresco Part 3Intro To Alfresco Part 3
Intro To Alfresco Part 3
Jeff Potts
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
Alfresco Software
 
Log management system for Microservices
Log management system for MicroservicesLog management system for Microservices
Log management system for Microservices
Võ Duy Tuấn
 
Presentation Zarafa Mailbridge
Presentation Zarafa MailbridgePresentation Zarafa Mailbridge
Presentation Zarafa Mailbridge
Zarafa
 
What’s New In Cincom Smalltalk
What’s New In Cincom SmalltalkWhat’s New In Cincom Smalltalk
What’s New In Cincom Smalltalk
ESUG
 
SUTOL 2016: IBM Connections Deployment Best and Worst Practices
SUTOL 2016: IBM Connections Deployment Best and Worst PracticesSUTOL 2016: IBM Connections Deployment Best and Worst Practices
SUTOL 2016: IBM Connections Deployment Best and Worst Practices
panagenda
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Mickaël Rémond
 
Sutol - A Hitchhiker’s Guide to troubleshooting IBM Connections
Sutol - A Hitchhiker’s Guide to troubleshooting IBM ConnectionsSutol - A Hitchhiker’s Guide to troubleshooting IBM Connections
Sutol - A Hitchhiker’s Guide to troubleshooting IBM Connections
Sharon James
 
Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyser
Alex Moskvin
 
XMPP Academy #2
XMPP Academy #2XMPP Academy #2
XMPP Academy #2
Mickaël Rémond
 
Cloud computing-2 (1)
Cloud computing-2 (1)Cloud computing-2 (1)
Cloud computing-2 (1)
JUDYFLAVIAB
 
How fast is it?
How fast is it?How fast is it?
How fast is it?
Patrick Meenan
 
Cloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft AzureCloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft Azure
Particular Software
 

What's hot (20)

Design-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline ComponentsDesign-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline Components
 
Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014
 
Sutol How To Be A Lion Tamer
Sutol How To Be A Lion TamerSutol How To Be A Lion Tamer
Sutol How To Be A Lion Tamer
 
IoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukeboxIoT Studio #1: Protocols introduction and connected jukebox
IoT Studio #1: Protocols introduction and connected jukebox
 
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo Data
 
Wcf Transaction Handling
Wcf Transaction HandlingWcf Transaction Handling
Wcf Transaction Handling
 
Simon Jia - The Kohana Framework
Simon Jia - The Kohana FrameworkSimon Jia - The Kohana Framework
Simon Jia - The Kohana Framework
 
Intro To Alfresco Part 3
Intro To Alfresco Part 3Intro To Alfresco Part 3
Intro To Alfresco Part 3
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
 
Log management system for Microservices
Log management system for MicroservicesLog management system for Microservices
Log management system for Microservices
 
Presentation Zarafa Mailbridge
Presentation Zarafa MailbridgePresentation Zarafa Mailbridge
Presentation Zarafa Mailbridge
 
What’s New In Cincom Smalltalk
What’s New In Cincom SmalltalkWhat’s New In Cincom Smalltalk
What’s New In Cincom Smalltalk
 
SUTOL 2016: IBM Connections Deployment Best and Worst Practices
SUTOL 2016: IBM Connections Deployment Best and Worst PracticesSUTOL 2016: IBM Connections Deployment Best and Worst Practices
SUTOL 2016: IBM Connections Deployment Best and Worst Practices
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
 
Sutol - A Hitchhiker’s Guide to troubleshooting IBM Connections
Sutol - A Hitchhiker’s Guide to troubleshooting IBM ConnectionsSutol - A Hitchhiker’s Guide to troubleshooting IBM Connections
Sutol - A Hitchhiker’s Guide to troubleshooting IBM Connections
 
Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyser
 
XMPP Academy #2
XMPP Academy #2XMPP Academy #2
XMPP Academy #2
 
Cloud computing-2 (1)
Cloud computing-2 (1)Cloud computing-2 (1)
Cloud computing-2 (1)
 
How fast is it?
How fast is it?How fast is it?
How fast is it?
 
Cloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft AzureCloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft Azure
 

Similar to AMF Flash and .NET

Real time web apps
Real time web appsReal time web apps
Real time web apps
Sepehr Rasouli
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
Ronny López
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
Sharon James
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
Wannes Rams
 
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
ukdpe
 
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Security
chuckbt
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
Alfresco Software
 
IoT with SignalR & .NET Gadgeteer - NetMF@Work
IoT with SignalR & .NET Gadgeteer - NetMF@WorkIoT with SignalR & .NET Gadgeteer - NetMF@Work
IoT with SignalR & .NET Gadgeteer - NetMF@Work
Mirco Vanini
 
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Samsung Open Source Group
 
Convertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for EnterprisesConvertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for Enterprises
Convertigo | MADP & MBaaS
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
ukdpe
 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikala
floridawusergroup
 
Cloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming CurriculumCloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming Curriculum
Steven Miller
 
OUGF OSGi/Flex
OUGF OSGi/FlexOUGF OSGi/Flex
OUGF OSGi/Flex
François Fornaciari
 
OUGF - OSGi / Flex
OUGF - OSGi / FlexOUGF - OSGi / Flex
OUGF - OSGi / Flex
OSGi User Group France
 
An Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveAn Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspective
BizTalk360
 
Node
NodeNode
Signal R 2015
Signal R 2015Signal R 2015
Signal R 2015
Mihai Coscodan
 
WebSphere Portal Technical Overview
WebSphere Portal Technical OverviewWebSphere Portal Technical Overview
WebSphere Portal Technical Overview
Vincent Perrin
 
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de BruinITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
Ortus Solutions, Corp
 

Similar to AMF Flash and .NET (20)

Real time web apps
Real time web appsReal time web apps
Real time web apps
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
 
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Security
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
IoT with SignalR & .NET Gadgeteer - NetMF@Work
IoT with SignalR & .NET Gadgeteer - NetMF@WorkIoT with SignalR & .NET Gadgeteer - NetMF@Work
IoT with SignalR & .NET Gadgeteer - NetMF@Work
 
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
 
Convertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for EnterprisesConvertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for Enterprises
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikala
 
Cloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming CurriculumCloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming Curriculum
 
OUGF OSGi/Flex
OUGF OSGi/FlexOUGF OSGi/Flex
OUGF OSGi/Flex
 
OUGF - OSGi / Flex
OUGF - OSGi / FlexOUGF - OSGi / Flex
OUGF - OSGi / Flex
 
An Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveAn Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspective
 
Node
NodeNode
Node
 
Signal R 2015
Signal R 2015Signal R 2015
Signal R 2015
 
WebSphere Portal Technical Overview
WebSphere Portal Technical OverviewWebSphere Portal Technical Overview
WebSphere Portal Technical Overview
 
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de BruinITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
ITB2019 Multi-language / multi-OS communication using RabbitMQ - Wil de Bruin
 

Recently uploaded

BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 

Recently uploaded (20)

BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 

AMF Flash and .NET

  • 1. BY: Yaniv Uriel Mail: maia.yaniv@gmail.com
  • 2. AMF • Coming soon  RPC • remote procedure call (RPC) is an inter-process communication that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction. Serialization • serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a network connection link to be "resurrected" later in the same or another computer environment. RTMP • RealTime Messaging Protocol (RTMP) is a proprietary protocol developed by Macromedia for streaming audio, video and data over the Internet, between a Flash player and a server. RTMPS • which is RTMPT over a secure SSL connection using HTTPS AMF - SomeTerms
  • 3. “Action Message Format (AMF) is a compact binary format that is used to serialize ActionScript object graphs” From: AMF 3 Specification Compact Binary Serialize and De Serialize ActionScript Object What is AMF
  • 4. • AMF was introduced in Flash Player 6 in 2001 • Remained unchanged until AS2 Flash Player8 •This version of AMF is referred to as AMF0 • In Flash Player 9, Action Script 3.0 – AMF3 with new data types and optimization •AMF3 Specification AMF History
  • 5. Size of AMF Object. Fast serialization / de serialization. AMF is parsed directly to an object. Native Type and custom class support. Low bandwidth and CPU •Compared with HTML JSONYAML XML (SOAP) Send Object By Reference (AMF 3) Benefits (why use it?)
  • 6. amf vs xml vs ajax James Ward – RIA Cowboy jamesward benchmark AMF/Remoting vs. Web Services Benchmark Bench Mark
  • 7. No DisplayObject (and descended objects) Native Types and Custom class. Compression (zlib) Pitfalls
  • 8. Binary format • Hard to read Complex Backend • Server errors influence client • Server side elopers needed Organization learning curve. AMF is not the answer for all the problems. Downsides
  • 9. Client side •Flash platform – build in support •Other open source reversed engineered Servers side: •Depend on technology (PHP, Java .net, Ruby on Rails…). •Depend on platform (Windows Linux Unix). •Depend on knowledge. Where to get it
  • 10. AMFEXT PHP Extension. • Written in C, fast encoding and decoding of AMF0 and AMF3 messages. • Looking for a new maintainer since July 2008. • PHP Frameworks. AMFPHP • Simple and powerful • Works since Flash MX 2004 • Optional support for AMFEXT CakeAMFPHP • Easy to use with CakePHP, requires AMFEXT • Development stalled Servers for PHP
  • 11. SabreAMF • Server and Client • PHP5 only • Compliant to PHP Strict Mode WebORB for PHP • Well documented, commercial support available • Management Console includes Service Browser,Testing and Security Management • Code Generators forActionScript Remoting, Cairngorm and PureMVC Zend AMF • Easy to use with Zend Framework • PHP is very widespread • Promoted by Adobe More for PHP
  • 12. Cold Fusion • Supports serialization to AMF • Easy to use • Supported by Adobe Could Fusion
  • 13. RED5 • Mainly for Audio- and Video Streaming • Supports AMF Remoting, too Blaze Data Services (BlazeDS) • Open Source (GPLv3) • Shares codebase (messaging and remoting) with LiveCycle Data Services SE • Rich set of features • Supports streaming channels over HTTP • Includes Tomcat 6 Application Server (easy to deploy) • LiveCycle Data Services Community Edition • Certi?ed builds of BlazeDS • Developer and Enterprise Support More… Java
  • 14. PyAMF • Integration with Python web frameworks like Django, Pylons,Twisted, CherryPy, ... • Scales well if used with mod_python, mod_wsgi, ... • Possible to run on Google App Engine • RTMPy is a protocol forTwisted • Based on PyAMF • Implementing RTMP • Still in development Python
  • 15. Ruby on Rails • RubyAMF • Very easy for Rails Developers to get started • Flexible and extensible • Scales well if Rails is used withThin, lighttpd, nginx, Phusion Passenger (mod_rails), ... WebORB for Rails • Based on Ruby on Rails • Tight integration of ActiveRecord • Commercial support available RubyIZUMI • RTMP Server for streaming Flash video/audio (H.264) • Based on EventMachine (fast single-threaded socket engine) • Experimental - not ready for production use Ruby
  • 16. AMF.NET • Implemented as an HttpHandler, easy to install • Very simple WebORB for .NET • Easy to install (only on Microsoft IIS) • Commercial support available FluorineFx • Supports RTMP • Template based code generator • Includes a Service Browser Blaze Data Services for .NET (BlazeDS.NET) ????? .NET
  • 17. WebORB Key Features • Developer ProductivityTool • management console, code generation, • service browser, • invocation test drive, project templates, • FlexBuilder plugin, Eclipse plugins, • command line tools, • built-in examples • Multi-Client Support - Flash, Flex, Silverlight, AJAX • Flash, Flex, Silverlight, AJAX
  • 18. • Security • custom authentication, custom authorization, • role-based security, • graphical configuration • Performance Monitoring • server-side instrumentation • Real-Time Messaging • data push, producer-consumer • model, MSMQ and JMS • integration, remote shared • objects, message broadcast WebORB - More
  • 19. • Video Streaming • streaming flash video, video broadcast, • server initiated video, • video recording, video chat • Extensibility Features • custom object serialization, • abstract argument mapping, • object factories, invocation chain, • custom object activation, special attributes, • security handlers • Solid Product Roadmap • always adding new features to increase the value of your investment WebORB …
  • 20. WebORB installation and configuration Creating an a flex project Remoting samples REAL TIME Massaging (chat application, video chat application Client side as method invocation How to use it
  • 21. WebOrb Plug-in for Flash Builder WebOrb Dev Den Tour De Flex Adobe Developer Connection android-xmlrpc • xmlrpc client side library for Android platform Ajax and Flex Data Loading Benchmarks AMF 3 Specification Useful resources
  • 22. Efficiency • Enhanced User Experience • Greater User Acceptance • Helps to save the planet (lower energy consumption) Ease of Use • Intuitive way of working with data • Less hassle, higher quality • Have more time for creative ideas, or • Spend more time with your loved ones AMF is not always the right thing • Consider alternatives (E4X, SWX, JSON, ...) • Proof your design by a working prototype Summery

Editor's Notes

  1. שלום לכולם כמה מילים על עצמי אני לא מעצב אני איש של קוד (UML וכל מיני כאלה) בתור התחלה היתי רוצה לדעת מול מי אני עומד : כמה אנשים שעובדים עם פלקס יש כאן כמה אנשים עובדים עם סרבר סייד? כמה מייקרוסופטים יש כאן (C# .NET WCF) עוד שאלה אחרונה שתעביר אותנו למצגת: מי כאן יודע מה זה AMF מי עבד עם זה בעבר. מצוין אז נתחיל. דרך הגב הדילברט כאן כי אמרו לי פעם שכל מצגת חייבת להתחיל ב דילברט (זה
  2. AMF המשך בקרוב על זה כל המצגת[ RPC – קריאה או הפעלה של פרוצדורה (שיגרה) מרוחקת – בדרך כלל מחשב מרוחק אבל לא חייב RPC לא רק ל AMF אפשר לעששות את זה גם בדרכים אחרות כמו XML JSON CORBA JAVA ..... SERIALIZATION – שאלה : משהוא לא יודע מה זה סירילאזישן ? במילים אחרות : לוקחים אובייקט דוחסים אותו מקבצים אותו שולחים אתו ומגהצים אותו שוב בצד השני RTMP חיבור אחד קבוע ניתן לקבוע את גודל המידע שעובר 64 ביית או 128 ביית ביית אחד עבור כל חלק – מעט תוספת יחסית ומהיר לפירוק וחיבור ישנם מספר ערוצים להעברת נתונים (RPC וידאו אודיאו וערןץ נתונים כללי חוץ שידורי) Sa RTMPS RTMPT RTMPTS אותו הדבר רק עם S אותו דבר עם T ... עובד באופן אסינכרוני
  3. Binary Serialize and Desterilize – fast and persisentcy AMF 3 מכיל גם שיפורים רבים של אופטימיזציה מכיל גם נתמך מפלש 9 ו AS3
  4. אובייקטים קטנים חשוב ל: יעילות בקידוד ופיענוח של האוביקט – הדבר מתאפשר גם בשל העובדה שהאוביקטים הם בינרים יש אפשרות גם לקווץ ב ZLIB אבל נזכיר את זה בהמשך. ביגלל הגודך הסיריאל והפיענוח הם מהירים ויש מעט OVERHEAD לכל התהליך. בניגוד ל XML JSON ואחרים . תמיחה מובנת בטיפוסים ובקלסים שנוצרו על ידי המשתמש (רק שצריך לעשות להם איתחול בצד השרת) אוביקטים כמו מחרוזות מערכים XML ואחרים יכולים להשלח כך. היתרון המשמעותי הוא שלא צריך שום דמר מיוחד בצד ההלקוח פחות תעבור (עוד פחות ממה שכבר פחות) shoot with AMF3 you can pass binary images and SWF files around too you can pass XML objects within AMF3 so they remain queryable client side as well,.
  5. Now for pure remoting, well that is an AMF thing, for loading models or leaving the result client side queryable, XML with E4X takes the cake. I should note that What is interesting to me is the fact that AMF is easily 10X faster and lighter than SOAP Web Services for server to server and server to client operations. We have all this server iron out there wasting bandwidth and CPU time parsing XML when they could natively serialize objects with less memory and less bandwidth. AMF3 is a perfect spec for it but we need clients and servers for AMF in many languages first. Currently the AMF format is a transmitter/receiver that can only talk to Flash Player and that needs to change.
  6. חיסרון : לא מציג את הדיספלי ואת כל הובייקטים האחרים שיורשים ממנו למרות שזה אפשרי אם האוביקטים הם מסוג לא סטנדרטי יש בצד השני אתחול שלהם כשהם אוברים דיסיריאליז. אומנם תומך וזה אכן חוסך ברוחב פס אבל לוקח זמן לקווץ ולפתוח. קווץ בינארי הוא פחות יעיל ביחוד לא ממומלץ להשתמש כשמעבירים נתונים גדולים ודרוש תגובה של REALTIME או כמעט זה
  7. יש כל מיני כלים שיכולים להראות לנו מה יש בפנים ונראה אותם נכון אבל צריך להערך לזה נכון יותר קל ממה שזה נראה The problem with AMF is that the secret sauce and recipe are bottled up at Adobe. Although there are many AMF clones out there, they vary wildly in support for the deeper object types in AMF3 binary. They all sort of taste like New Coke or Generic Cola, it tastes similar but something is missing, it is just not the real thing.
  8. Some full implementation RTMP servers are: Adobe Flash Media Server, Adobe LiveCycle Data Services Amazon S3 & Amazon Cloudfront can stream using RTMP haXeVideo is a multithread FLV streaming server entirely written using the haXe programming language. Helix Universal Server from RealNetworks streams live and on-demand RTMP, RTMPS, RTMPE content using RTP encoders for live streams and FLV, F4V, MP4 and 3GP containers for on-demand files. Onlinelib VCS Video Communication Server (including iPhone Support) Red5 Open Source Media Server is a reverse-engineered open source project which aims to produce a complete implementation written in Java. Erlyvideo [4] has wide functionality: not only file streaming, but restreaming of MPEG-TS or Shoutcast to flash clients using RTMP. Unreal Media Server supports live RTMP streaming, in real-time and buffered modes. Wowza Media Server WebORB Integration Server (available for .NET, Java, PHP, and Rails) both commercial and free (some open source) implementations. OneTeam Media Server has been announced on ProcessOne[5]. A C++ implementation called crtmpserver[6] is also available. [edit]
  9. Developer Productivity Tools management console, code generation, service browser, invocation test drive, project templates, FlexBuilder plugin, Eclipse plugins, command line tools, built-in examples Multi-Client Support Flash, Flex, Silverlight, AJAX
  10. Security custom authentication, custom authorization, role-based security, graphical configuration Data Management code generator, full CRUD, client synchronization, intuitive API, extensible programming model, sample test drive Performance Monitoring server-side instrumentation Real-Time Messaging data push, producer-consumer model, MSMQ and JMS integration, remote shared objects, message broadcast
  11. Video Streaming streaming flash video, video broadcast, server initiated video, video recording, video chat Extensibility Features custom object serialization, abstract argument mapping, object factories, invocation chain, custom object activation, special attributes, security handlers Solid Product Roadmap – we’re always adding new features to increase the value of your investment