250 likes | 385 Views
이 프레젠테이션에는 수행 항목을 만드는 청중 토론이 포함되어 있습니다. 프레젠테이션하는 동안 PowerPoint 를 사용하여 수행 항목을 확인합니다. 슬라이드 쇼에서 마우스 오른쪽 단추를 누릅니다. “ 회의록 작성 ” 을 선택합니다. “ 수행 항목 ” 탭을 선택합니다. 제안되는 대로 수행 항목을 입력합니다. 이 상자를 없애려면 “ 확인 ” 을 누릅니다. 프레젠테이션 끝에 요점을 입력한 수행 항목 슬라이드를 자동으로 만들어 줍니다. 3- Tier Client/Server. [ OOPSLA 연구실]
E N D
이 프레젠테이션에는 수행 항목을 만드는 청중 토론이 포함되어 있습니다. 프레젠테이션하는 동안 PowerPoint를 사용하여 수행 항목을 확인합니다. • 슬라이드 쇼에서 마우스 오른쪽 단추를 누릅니다. • “회의록 작성”을 선택합니다. • “수행 항목” 탭을 선택합니다. • 제안되는 대로 수행 항목을 입력합니다. • 이 상자를 없애려면 “확인”을 누릅니다. • 프레젠테이션 끝에 요점을 입력한 수행 항목 슬라이드를 자동으로 만들어 줍니다. 3-Tier Client/Server [OOPSLA 연구실] [민 경 섭]
Table of Contents • Background • What are these tiers ? • Cons. & Pros. of 2-tier architecture • Why 3-tier architecture ? • Comparison btw. 2-tier and 3-tier • Component based Middle tier • When should you use 3-tier ? • Conclusion
Background • Demand enterprise-class applications • Partitioning of applications • 2-Tier, 3-Tier, N-Tier
What are these Tiers ? • Physical partitioning of applications • terminal(tier1), minicomputer(tier2), mainframes(tier3) • Logical partitioning of applications • 2-tier • client(tier 1) :a big chunk of application • server(tier 2) : DBMS • 3-tier • client(tier1) : GUI • application server(tier2) : all chunk of business applications • server(tier3) : DBMS
Benefits and Limitation of 2-Tier Architecture • Benefits • great for creating applications quickly using visual builder tools thanks to its simplicity • appropriate to departmental applications • e.g.) decision support, small-scale groupware, simple web-based applications • Limitations • not mission-critical, not scalable
Tier 2 Tier 1 GUI SQL, File Server, HTTP protocol Database(or Other Resource Managers) A 2-Tier Client-Server Application Architecture Tier 3 Tier 2 Tier 1 GUI Application Database(or Other Resource Managers) RPCs, Conversations, Queues, Publish-and-Subscribe, Broadcasts, Object invocations A 3-Tier Client-Server Application Architecture
Why 3-Tier Architecture ? • Needs of new world’s applications • Business will increasingly compete be being the first to market with new electronic goods and services • Companies will create virtual corporations through alliances with a shifting set of partners • Roles and relationships btw. enterprises will shift frequently as industries realign
Why 3-Tier Architecture ? (Cont’d) • Reasons • Meets the requirements of large-scale internet and intranet client/server applications • Is easier to manage and deploy on the network • most of code runs on the servers, especially with zero-footprint technologies like Java applets • Minimizes network interchanges by creating abstract levels of service • Provides better security • by not exposing the database schema to the client • by enabling more fine-grained authorization on the server
How Does 2-Tier Compare With 3-Tier ? Table 2-2 참조
Component Based Middle Tier(1) • The middle tier is implemented as a collection of components that are used in a variety of client-initiated business transactions • Operations of component • automates a relatively small business function • can call other components to help it implement a request • some components act as gateways that encapsulate legacy applications running on mainframes
Component Based Middle Tier(2) : Benefits • You can develop big applications in small steps • Applications can reuse components that are binary “black boxes” • Clients can access data and functions easily and safely • by encapsulation of details of the application logic from the client • Custom applications can incorporate off-the-shelf components
Component Based Middle Tier(3) : Benefits(Cont’d) • Component environments don’t get older-they only get better • you can add a new components and add new capabilities to components easily without changing your clients
Component Based Middle Tier(4) Component Types • Services • implement a business function • is stateless procedures • e.g.) Update_Checking _Account • Objects • expose a set of related procedures or “methods”, not just a single procedure
Component Based Middle Tier(4) Component Types(Cont’d) • Objects(Cont’d) • types • stateless objects • it must determines what instance data it needs, retrieve it from a database and must update the database • DCOM and CORBA ORB support them • e.g.) bank_account • stateful objects • from a client it receives request services of a specific object using a unique object identifier • it must deliver the request to that specific object • some ORB and OTM support them • e.g.) joe’s_bank_account
Communications Between Components(1) • Middle-tier infrastructure sends client’s request using logical service(object) name to physical location that serves the request • Messaging Alternatives • Conversations • support ongoing dialog involving many interactions • e.g.) TCP/IP sockets, IBM’s CPI-C • Request-response • support a single interaction • e.g.) RPC, ORB RMI(Remote Method Invocation)
Communications Between Components(2) • Message Alternatives(Cont’d) • Queues • decouple the client and server interactions • messages are queued for servers • support messages of different priorities and time-triggered dequeuing • e.g.) MOM, TP Monitor • Publish-and-subscribe • clients register their interest in certain messages with an event manager • servers publish messages to the event manager
Communications Between Components(3) • Publish-and-subscribe(Cont’d) • the event manager acts as a matchmaker, sending published message to subscribers • e.g.) CORBA’s event service • Broadcasts and datagrams • one-way communication • e.g.) CORBA’s one-way invocation
When Should You Use 3-Tier ?(1) • By Gartner Group’s Report • when many application services or classes - more than 50 • when applications programmed in different languages or written by different organizations • when two or more heterogeneous data sources - such as two different DBMSs or a DBMS and a file system • when an application life that is longer than three years - especially if you expect many modifications or additions
When Should You Use 3-Tier ?(2) • By Gartner Group’s Report(Cont’d) • when a high-volume workload - more than 50,000 transactions per day or more than 300 concurrent users on the same system accessing the same database • when significant inter-application communication - including inter-enterprise communication such as EDI • when the expectation that the application will grow over time so that one of the previous conditions will apply
2-Tier Architecture Cost to Develop and Maintain 3-Tier Architecture Application Complexity and Length of Application Life
Conclusion It has become a safe bet to implement your applications using a 3-tier client/server architecture - especially if you pick a solid infrastructure It supports - security - reusability - step-wise, add-on, and customized integration - etc…