Introduction to MINA Trustin Lee NHN Corporation

Slides:



Advertisements
Similar presentations
Encrypting Wireless Data with VPN Techniques
Advertisements

MIT Lincoln Laboratory A Service-Oriented Approach to Application Development Robert Darneille & Gary Schorer WPI MQP Presentations ICS Group 10 October.
VOYAGER: Yet Another Secure Web Browser to Demonstrate Secure Socket Layer Working and Implementation By : Shrinivas G. Deshpande Advisor: Dr. Chung E.
1 Mobicents Training JSLEE & SIP Servlets Interoperability through the Mobicents Communications Platform Jean Deruelle, Mobicents SIP Servlets Lead.
Module 5: Configuring Access to Internal Resources.
Introduction to push technology © 2009 Research In Motion Limited.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Servlets and a little bit of Web Services Russell Beale.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
CSE451 Section 6: Spring 2006 Web server & preemption.
Introduction to Servlet & JSP
Adobe Flash Media Server. Outline What is Adobe Flash Media Server? What can we do with it? How the server works? How to install and set-up the server?
1 Generic SMS Gateway for AtLink Enterprise Voice Integration Instructor: Dr. Kwok-Bun Yue, Ph.D Mentor: Mr. Dilhar De Silva Team #6: Dang Nguyen Huy Do.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Networking with Java CSc 335 Object-Oriented Programming and Design Spring 2009.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
1 What Can HTML5 WebSocket Do For You? Sidda Eraiah Director of Management Services Kaazing Corporation.
It’s always better live. MSDN Events INTRODUCTION TO SILVERLIGHT prepared by Joe Nov INTRODUCTION TO SILVERLIGHT prepared by Joe Nov
Chapter 4: Core Web Technologies
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Introduction to Interprocess communication SE-2811 Dr. Mark L. Hornick 1.
Introduction to MINA Trustin Lee
Apache Mina Dima Ionut Daniel. Contents What is Apache Mina? Why Apache Mina? Mina Architecture Mina Core Mina Advanced JMX Support Spring Integration.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
第十四章 J2EE 入门 Introduction What is J2EE ?
Extending ArcGIS for Server
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Libwww, the W3C protocol library libwww - The W3C Protocol Library „Großes Schwerpunktseminar WI“ University of Applied Sciences Gießen-Friedberg.
Lecture 15 Introduction to Web Services Web Service Applications.
Introduction to MINA A M ultipurpose I nfrastructure for N etwork A pplications April 2005, Trustin Lee, ASF.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Vassil Roussev 2 A socket is the basic remote communication abstraction provided by the OS to processes. controlled by operating system.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
14-1 JXTA for J2ME Learning Objectives ● This module will help you... – Learn about the architecture of JXTA for J2ME – Learn the JXTA for J2ME.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
4BP1 Electronic & Computer Engineering Paul Gildea th Year Interim Project Presentation.
GeoBrowser Jonas Wolf MEng Individual Project Supervisor: Dr Stefan Rueger Second Marker: Ian Harries.
SIP-ify the Base Jon R. Doyle VP Business Development CommuniGate Systems.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Module 7: Advanced Application and Web Filtering.
Messaging. Message Type Patterns Command Invoke a procedure in another application SOAP request is an example Document Message Single unit of information,
TCP/IP (Transmission Control Protocol / Internet Protocol)
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Jetty 9 Dima Ionut Daniel. Contents What is Jetty? History Jetty 9 new features Jetty Configuration Deployment Arhitecture JMX SPDY Handlers WebSocket.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
1 Network Communications A Brief Introduction. 2 Network Communications.
Securing Access to Data Using IPsec Josh Jones Cosc352.
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
The Echo Server Problem. Contents  Basic Networking Concepts  The Echo Server Problem.
Trustin Lee Introduction to MINA Trustin Lee
Processes The most important processes used in Web-based systems and their internal organization.
Netty.
Chapter 2 Introduction Application Requirements VS. Transport Services
Class 3: Implementing Network Connectivity 2
High-performance network applications
The future of distributed systems architecture
Standards, APIs, and Applications
Network programming Lecture 1 Prepared by: Dr. Osama Mokhtar.
Demo for Partners and Customers
Presentation transcript:

Introduction to MINA Trustin Lee NHN Corporation

2 Agenda Overview In-depth View Demonstration Future Conclusion

3 Agenda: Overview Overview What is MINA? Advantages References In-depth View Demonstration Future Conclusion

4 What is MINA? A Multi-purpose Infrastructure for Network Applications Overview

5 What is MINA? Network application framework for Java Abstract API Event-driven Asynchronous Implementations NIO Socket & Datagram Overview

6 Advantages: Productivity Unit test friendly Abstract API + mock objects Extensible Runtime modification of application behavior using ‘filters’ Maintainable and Reusable Separation of networking code (MINA), protocol codec, and business logic Overview

7 Advantages: Performance AMQP Test Client and server 4 dual-core Opterons Via Gigabits Ethernet 10 clients Payload: 256+ bytes (excl. AMQP headers) Avg : 180,000 msg/sec Max: 220,000 msg/sec Courtesy of Robert J. Greig, JP Morgan Chase & Co. Overview

8 Advantages: Stability API design Running toward 1.0 fast Implementation We’ve been doing this since 2004 Overview

9 Who Uses MINA? The Apache Directory Project XFire + AsyncWeb SOAP over HTTPXFireAsyncWeb AMQP Advanced Message Queuing ProtocolAMQP QuickFIX/J Financial Information eXchangeQuickFIX/J RED5 Server Macromedia Flash Media RTMPRED5 Server LDAPv3 ChangePW Kerberos DHCP DNS NTP Overview

10 Who Uses MINA? ObjectRADIUS RADIUSObjectRADIUS FreeCast P2P media streamingFreeCast JStyx A NFS-like file sharing protocolJStyx Proprietary projects XMPP (Jabber · GTalk) implementation SMS · MMS Gateways And many more! Overview

11 Agenda: In-depth View Overview In-depth View At a Glance Core Constructs In-VM Pipe Demonstration Future Conclusion

12 At a Glance In-depth Filters Events & Requests Performs Actual I/O A Connection

13 IoService In-depth Server-side: Accepts clients Client-side: Connects to a server And their implementations

14 IoFilter An event & request interceptor Reusable Hot-deployable SSL · TLS Thread pool Performance profiler Lightweight firewall Logger Overload detector Traffic shaper Authorization In-depth

15 ThreadPoolFilter In-depth

16 ProtocolCodecFilter Clear separation and reusability Business logic – IoHandler Protocol codec – ProtocolCodecFilter Object serialization Text line In-depth

17 ProtocolCodecFilter In-depth POJO → ByteBuffer ByteBuffer → POJO → Business Logic Only!

18 In-VM Pipe I/O events are converted into ‘Direct Method Invocations’ In-depth  No protocol codec  No network latency  Using the same API

19 Agenda: Demonstration Overview In-depth View Demonstration Future Conclusion

20 Reverse Echo Server Echo server which reverses a line Using a built-in text line protocol codec in MINA Example

21 Agenda: Future Overview In-depth View Demonstration Future MINA as a Platform Real-time Management Participation Conclusion

22 Integration with Apache ASN.1 for complex protocols Users can build customized servers with ready-made protocol codecs. Design custom protocols just like drawing a UML! MINA as a Platform Future

23 Real-Time Management System A universal management view JMX console and Web browser Real time access Server traffic IoFilter Hot-deployment Which client is sending what message now? Which message takes too long to process? And Future

24 We Need Your Participation! Sounds exciting? Your feedback is our blood! Ask questions Criticize design flaws Report bugs Publish performance test results Future

25 Agenda: Conclusion Overview In-depth View Demonstration Future Conclusion

26 Conclusion MINA is… A network application framework for… Productivity Performance Stability MINA will be… Full-featured dev. & mgmt. platform for network applications Conclusion

27 Resources Homepage More useful examples Mailing List

Thank You! Q & A