1. Erlang开发电信网管项目实践Author: Ery Lee
Date: December 2008
Email: ery.lee@gmail.com
2. AgendaAbout Opengoss Project
Road to Erlang
The Architecture
Erlang Highlights
What We Got
What We Lost
About Erlang Syntax
Thinking in Software
3. About Opengoss Project
4. What's Opengoss?Next Generation Network and Business Management System
One uniform platform based on Linux,Erlang/OTP and ROR
Different applications for WIFI, EPON and Enterpise networks
5. Opengoss Product Family DMIT, Monet, Evabus, Report, RRDB, WebTopoPlatformLinux/Unix, MySQL, Oracle, LDAP, Erlang/OTP, Ruby and Rails…BaseN/AOpengoss EnterpriseOpengoss EPONOpengoss WLANNMSN/AN/AN/AWIMSSOSSInternetEnterpriseEPON-OSSWIFI-OSS
6. Future of OpengossThe Network Management Cloud
7. Road to Erlang
8. Pure Java Originally…First Version: Java and JEE…
Second Version: Java, OSGi, Eclipse, Model-Driven…
9. Java could do everything, but…Java , JSP , JSF, Struts, Webwork, Velocity , Spring, Hibernate, iBatis, EJB, JDO, JMS, JNDI, JDBC, JAAS, JTA, RMI, IIOP, Web Services, SOAP, SOA, SDO...
But, could Java do anything best?
10. We Had a Big Idea Once☺Planned Third Version: OSGI, Component, Plugin, SOA, SDO, SCA…
11. But we have no money and big team...
12. We are tired of NEW concepts and frameworks...SDO, SCA, SOA, ESB, BPML,SOBA...
Endless WS-* Documents…
13. Into the WildWe want to be far away...
14. “Hello Stranger”Fall in love with REST, Rails and Erlang …
15. Why Erlang?Simplicity
Performance
Concurrency
Distribution
Fault Tolerance
40. ScalabilityMassively Distributed Data Collection
Scale from 1000+ to 100,000+ Aps
Try to resolve IO bottleneck
Try to partition data
41. StabilityNever stop monitor engine
Failure Recover
Hot code loading
42. DistributionTransparent distribution
No effort to get master/slave
43. HappinessLess code, Less noises
More Happiness
44. LonelinessNo Girls?
45. What We Lost
46. JavaComprehensive matured libraries and frameworks
The Java community
47. BuzzwordNo SOA, SCA, SDO, ESB finally...
48. About Erlang Syntax
49. LoveFunction Programming?
Pattern match
List comprehension
50. HateUgly If
String Support
Records
51. Thinking in Software
52. Far away from SOASOAP Died...
WS-* is dying...
And then SOA???
53. OO is over evaluatedThe revolution is RDBMS and C Language
http://pojo.javaeye.com/
54. It's just DataIT was named as "Data Processing" in enterprise.
The data looks like table and records in DB
The data looks like objects in business layer
The data looks like Tables, Trees and Forms in UI layer
55. AJAX SucksAnd Flex?
56. REST
REST is very important.
57. Cloud is not a mythBuild your own cloud.
Erlang makes it easy?