知识点

相关文章

更多

最近更新

更多

Java企业级应用软件开发

2019-03-02 23:55|来源: 网路

一、什么是软件开发?

计算机系统开发:包括硬件开发和软件开发。

软件开发可以分为系统级开发和应用级开发。

系统级开发:如开发操作系统、驱动程序、嵌入式系统开发: 更多是用:汇编、C、C++等底层语言、编写操作系统、编译器、驱动程序、底层系统功能、要求深厚的数据结构与算法功底。

应用级开发:企业级应用开发、电信级应用开发、PDA应用开发... ...


二、企业级应用开发

      Java企业级应用开发、.Net企业级应用开发、Python/ruby/php企业级应用开发。

      这里重点说Java企业级应用开发。

     其实Java是分为:J2ME、J2SE、J2EE(也就是Java企业级应用开发),当前java企业开发大多数采用Spring框架。

     成熟的企业级开发可能转变为工业级开发

三、Java企业级开发Spring框架介绍

    http://www.springsource.org/projects

     scalability-availability-stability-patterns

  研读Spring代码:优先阅读:DI、AOP、JDBC Template、Spring的一些架构和设计模式等

  Google的Guice是类似于Spring的容器,也支持IoC/DI等

 1 Spring基础核心功能:

     Spring框架核心功能: IoC(Inversion Of Control)/DI(Dependency Injection)、AOP(Aspect Oriented Programming)、

     理论依据:Martin Fowler的《企业应用架构模式》,   《Expert One-on-One.J2EE.Design.and.Development》《Expert_J2EE_Development_Without_EJB》

     实际使用手册:Spring Reference、 Spring API、    

     实际项目:Spring自带若干个例子

     可以与SQL、NoSQL、Hadoop很好集成

 2 Spring 新增核心项目介绍:(企业数据框架/企业数据架构)

     2.1Spring Data 项目:  《Spring Data: Modern Data Access for Enterprise Java》O'Reilly

     Spring Data - Apache Hadoop

     可以与SQL、NoSQL、Hadoop很好集成

     Spring Data项目:

Category Sub-project  
Relational Databases JPA Spring Data JPA - Simplifies the development of creating a JPA-based data access layer
  JDBC Extensions Support for Oracle RAC, Advanced Queuing, and Advanced datatypes. Support for using QueryDSL with JdbcTemplate.
     
Big Data Apache Hadoop The Apache Hadoop project is an open-source implementation of frameworks for reliable, scalable, distributed computing and data storage.
HDFS and M/R  、Hive、Pig、Cascading、HBase
  Splunk/Lucene  
Data-Grid GemFire VMware vFabric GemFire is a distributed data management platform providing dynamic scalability, high performance, and database-like persistence. It blends advanced techniques like replication, partitioning, data-aware routing, and continuous querying.
     
HTTP REST Spring Data REST - Perform CRUD operations of your persistence model using HTTP and Spring Data Repositories.
     
Key Value Stores Redis Redis is an open source, advanced key-value store.
     
Document Stores MongoDB MongoDB is a scalable, high-performance, open source, document-oriented database.
     
Graph Databases Neo4j Neo4j is a graph database, a fully transactional database that stores data structured as graphs.
     
Column Stores HBase Apache HBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable
     
Common Infrastructure Commons Provides shared infrastructure for use across various data access projects. General support for cross-database persistence is located here
  Grails Mapping Provides a database unified object mapping framework that is portable across different databases for Grails.

Spring Data GemFire

    2.2 Spring Integeration 项目:

         Spring AMQP项目:集成消息机制

         Spring BlazeDS Integration:Spring集成Flex

       《Enterprise Integration Patterns》http://www.eaipatterns.com/

        Message Driven Architecture with Spring

    spring Integration Books:
       Mark Fisher, Jonas Partner, Marius Bogoevici, Iwein Fuld: Spring Integration in Action
       Madhusudhan Konda: Just Spring Integration
       Dr. Mark Lui, Mario Gray, Andy Chan, Josh Long: Pro Spring Integration

      ESB 消息中间件 RabbitMQ.ActiveMQ... ...

      可以与SQL、NoSQL、Hadoop很好集成

    2.3 Spring Batch 项目

       Java6: ExecutorService\  Java7: ForkJoinPool \  Erlang/Scala: Actor & Message \ Go:goroutine\Grand Central Dispatch:Block&Queue(iOS)\GridGain:Compute Grid  \ Hadoop:MapReduce

       后台批处理业务、可以与SQL、NoSQL、Hadoop很好集成

    2.4 还有一些其他项目:

       Spring Mobile 与手机相关:Android

       Spring Social  与社交相关:微博 Twitter

       Spring MVC/Spring Web Flow 与 界面相关

       Spring Web Services 与Web service相关

       Spring Roo Java开发者快速构建工具

       Spring Security 安全相关

       Spring LDAP :目录访问


 3 Spring云中漫步

      3.1 IaaS(Infrastructure  as a Service,IaaS)基础设施即服务:

    提供给消费者的服务是对所有设施的利用,包括处理、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、储存空间、部署的应用,也有可能获得有限制的网络组件(例如,防火墙,负载均衡器等)的控制。

          如:▪ EC2     ▪ Eucalyptus     ▪ FlexiScale     ▪ GoGrid ▪ Nimbus     ▪ OpenStack     ▪ Rackspace Cloud     ▪ VPC 

      3.2 PaaS(Platform as a Service,PaaS)平台即服务:提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开发的

        
          如:▪ App Engine     ▪ Windows Azure     ▪ Engine Yard     ▪ Force.com ▪ Heroku     ▪ MTurk     ▪ RightScale     ▪ Amazon S3 ▪ SimpleDB     ▪ SQS
                  Google App Engine、Amazon Elastic Beanstalk 、Cloud Foundry、Hadoop、Storm

      3.3 SaaS(Software as a Service,SaaS)软件即服务:

       提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等;

          如:▪ SAP OnDemand Solutions  ▪ Google Apps     ▪ Microsoft Online ▪ NetSuite     ▪ SalesForce

      3.4 虚拟机:VMware(VMWare ACE)、Virtual Box和Virtual PC

      3.5 CloudFoundry 开源的云(共有、私有、微型演示):量子恒道、用友云、vFabric Data Director、Serengeti、mopaas、openstack、

      3.6 通用应用: 日志分析/用户行为分析、机器学习/数据挖掘、网页抓取/文字处理、抽取/转换/加载(ETL)、图像处理、数据备份... ...

      3.7 行业应用: 科学研究领域、医疗领域、商业领域、制造业、智慧城市、 金融服务、电子商务、生物医药、电信、科技、大众传媒、搜索引擎、视频... ....

      3.8 BigData: 分布式系统、云计算、物联网

           大数据的获取、传输、存储、质量管理、支持求解等方面。所有的五个阶段里面的问题集中起来,称之为大数据计算问题的空间。
                3.8.1 The Big Data Problem:

                   1 Capture: Collect data from all source - structured and unstructured data (Log files\ Exhaust Data\Social Media\Sensors, devices\DB data)

                                   All speeds batch、async、streaming、real-time

                   2 Process: Transform, refine, aggregate,analyze, report

                   3 Exchange: Deliver data with enterprise data systems

                                     Share data with analytic applications and processing

         


转自:http://www.cnblogs.com/ajian005/archive/2012/12/09/2841128

相关问答

更多
  • 现在网站学习并不难。在哪学习也不重要,重要是有没有心在学。 有一个朋友,计算机系的,看完一本书就开发了个bbs程序。 很不可思议,所以说,肯学,随便上网查视频教程都能学好。
  • 用的不太多! Java Web Start 是基于 Java 技术的应用程序的一种部署解决方案。Java Web Start 技术可为全功能应用程序提供与如上所述的 Web 浏览器为 HTML 应用程序提供的相同的好处。 Java Web Start 构建于 Java 2 平台之上,该平台提供完善的安全体系结构。在缺省情况下,通过 Java Web Start 启动的应用程序将在受控的环境(“沙箱”)中运行,只能对文件和网络进行有限的访问。因此,通过 Java Web Start 启动应用程序可保持系统的安 ...
  • java 软件开发[2024-01-23]

    Java是现在中小企业普遍使用的编程语言,主要包括手机软件,网页制作等方面,其覆盖面可以和微软家的.NET平分秋色,发展前景相当可观,在软件开发这块主要在上海,南京,北京,苏州等地方,找工作可以多方面考虑,在重庆相对没有在这些地方容易哦!如果你的技术够扎实在重庆同样可以!
  • Web的开发,一般用到的框架是SSH和一些主流的轻量级框架(如:EXTJS)
  • 要想清楚啊!要学到能找份工作还是需要较长时间的,如果是纯自学的话。建议看马士兵的视频,从j2se的看起,做做j2se的项目,完了学数据库,再学html、css、JavaScript、jsp/servlet,也就是web的入门,之后做做web项目,学通了就学框架,这期间会穿插很多东西,例如xml、uml、log4j、jUnit等等,最后学设计模式和面向对象的分析。计算机的东西是很多的,不要学死,也不要想着学完,最重要的是学会解决问题的方法。开始肯定要模仿别人的代码,不断模仿,多看,看完一定要自己写几遍,只有能 ...
  • 适合后台应用 ext太重了
  • Flex 3 Cookbook中文版 作者: (美)诺布尔,(美)安德森 著,肖娜,董龙飞 译 出版:电子工业出版社2 出版日期:2009年04月 Flex技术可以分为UI技术、数据技术和 服务器端技术三大部分。本书覆盖了Flex应用 开发者可能遇到的绝大部分技术主题,包括:如何使用各类Flex组件;如何使用视图状态、 样式单、特效以及拖拽技术进行美化设计和加强应用;如何在客户端处理诸如集合 数组、XML数据等;如何应用数据 表格,同时深入介绍了Flex的服务器端技术。本书还特别介绍了如何使用Flex技术开 ...
  • 服务器jboss、tomcat 数据库oracle、db2 WEB框架struts2、spring、hibernate、ejb 网页界面 jquery、ajax、json、jsp、servlet
  • 先从 JAVA web 说起 实际上 java web 涵盖这 企业级 与非企业级 所谓的企业级 只不过是比较大型的 适用于 企业的web端软件开发 而学校所做的只是 web类的网站而已。 如果要打到企业级要求 实际上 会JAVA web 就可以进入当然只是 最底层的初级程序员 如果要想达到 企业稍微较重视的程度 那么就要学会 很多框架 首先是SSH ,SSM 就够了 如果要在网上走 那么就要了解 web分布式架构 会涉及到redis 这类的缓存技术 nignx负载均衡 数据库的 主从复制 ,还有一些 消息 ...
  • 可以,mysql现在已经逐渐成长为一个很成熟的数据库,不光有完善的备份、还原、主从方案。而且还有很多集群方案。 从集群实现方案的多样性来说,mysql已经超越了oracle。而且正常情况下mysql的备份,恢复比oracle更简单,快捷。停机故障修复时间,也比oracle要好的多。。 最重要的是,它是免费的,而且很适合搭建在x86平台上,可以用廉价的服务器提供完善的数据库服务。相比oracle+小型机的成本,简直便宜的要死,不过如果你说要用pc机搭载oracle,那我只能说你应该是不太考虑性能问题的。ora ...