プラスチック製容器包装および紙製容器包装への …プラスチック製容器包装および紙製容器包装への 別 1.(j:11 プラスチック製容器包装および紙製容器包装の
Web2.0サービスのアーキテクチャと実装download.microsoft.com/download/C/B/C/CBCA684C-07EE-4570...•デザインの原則...
Transcript of Web2.0サービスのアーキテクチャと実装download.microsoft.com/download/C/B/C/CBCA684C-07EE-4570...•デザインの原則...
Web2.0サービスのアーキテクチャと実装
マイクロソフトコーポレーションプラットフォーム・アーキテクチャ・チームシニアアーキテクト成本正史[email protected]
Web 1.0
Web 2.0
Web 3.0
インターネットプレゼンス、サーチエンジン
ユーザー参加型、ソーシャルダイナミクス
セマンティックWeb
Webの変遷
Web スタートアップ
エンタープライズ
…
Aggregators E-mail
HTTP Wikis
Collective Intelligence
Viral
Social Networking
Folksonomies Sharing
Collaboration
Scalable Crowd Sourcing
Browsers
Social Media
IM
JavaScript
AJAX
CSS
Interoperable
Atom
Ruby on Rails
Programmable
RSS
Semantic Web
MVC
SEO
OpenID
Mashups
REST
Social
Accessible
Microformats
Syndication
XML
Modular
SOAP
XHTML
Blogs •業界標準およびテクノロジー•デザインの原則•実装のパターン•開発プラットフォーム•アプリケーションやサービス
Social Graphs
Blogosphere
ASP.NET PHP
Joomla Drupal
Social Web
Mobile
ユーザー
企業
Web2.0
Webスタートアップ
Web2.0 – 全体像
Emerging Web
Challenges and Opportunities
Consumers &
Communities
Enterprise/
Business
Web2.0
Web Startups
• The Long Tail • Discoverability • Aggregation
• Optimize Investments • Increase Eyeballs• Long Tail Reach• Passive-to-Active• Business Services
• Next Gen Web Presence• Enterprise 2.0• Social Web Integration
Web Startup Challenges
Discover, Collect, Organize Share, Recommend, Create
Opportunities
• The Long Tail• Discoverability• Multi-channel access• Aggregation
Desktop BrowserMobile
Multi-channel Clients
LOB Services
ECM BI
LOB Integration
Portal Framework
WCM BPM
Enterprise Search
User Profiles
Customers Partners
Enterprise Productivity Services
Social Computing Services
EMM
Enterprise Social Computing Platform
Employees
Desktop BrowserMobile
Clo
ud
Inte
rop
Se
rvic
es
Business Challenges
Business Non-affiliated Communities
CommunicateListen
EngageOnboard
Marketing & SalesCustomer Support
Training New Product/Service Development
Hiring
Social Web Integration
Facebook in the Enterprise
Workbook
Security, SSO,
data access, integration
Adapter Adapter
Enterprise
employees
Infrastructure
Compute Storage Web Server Database Networking Messaging Virtualization
Foundational Services
Content Management
Data AccessUser
ManagementSocial Search
Usage Analytics
Sync Monetization
IP Services
Your Intellectual Property Services
Service Interfaces/APIs
REST SOAPSyndication (RSS/Atom)
JavaScript LibrariesProgramming
Language Wrappers
Delivery Channels
Browser PC Mobile Device External ServicesService
Repository/Bus
Architecture Layers Tools
Users
Designers
Developers
Administrators
ファウンデーションサービス
Foundational Services
Content Management
Data AccessUser
ManagementSocial Search
Usage Analytics
Sync Monetization
http://www.microsoft.com/web/
-SQL Server 2008 Express- IIS7- Visual Web Developer 2008 Express- .NET Framework 3.5- Silverlight tools for Visual Studio
Infrastructure
Windows Server, IIS, SQL ServerAzure Services Platform (Widows Azure, SQL Data Services, Live Services, .NET Services)
Foundational Services
Microsoft .NET Framework
ASP.NET Services
SharePoint Search Server Live Services .NET Services Ad Center/Atlas
IP Services
Microsoft .NET Framework
Service Interfaces/APIs
Windows Communication Foundation
ADO.NET Data Services JavaScript.NET Programming
Languages
Delivery Channels (Browser, PC, Mobile, Device, Service Repository/Bus)
ASP.NET
Web Forms
ASP.NET MVC
ASP.NET AJAX
jQuery SilverLight WPF VSTO.NET
Services
Architecture Layers Tools
Expression
Visual Studio
Server Admin Tools
Web サービスフレームワーク
ウィジェット
ブラウザー
AJAX
ブラウザプラグイン
Web アプリフレームワーク
ファウンデーショナルサービスアダプター
ユビキタスチャネル
サービスロジック
非構造化ストレージ
ユーザー管理
ソーシャルサービス
広告
検索
データ
ASP.NET MVC
SQL Server2008
BrowserController
Repository+
EntityFramework
View
ServiceImplementat
ion
jQueryASP.NET
AJAX
WCF Service Interface
Silverlight
Power PointDIA
WindowsMobile
Windows Live
AzureStorage
Provider
AdCenter
R2
Kobe.Web.UI Kobe.Services Kobe.FoundationalServices
アーキテクチャ要素 Microsoft technology
ブラウザープラグイン Silverlight
Ajax ライブラリ ASP.NET AJAX
ウィジェット Windows Live Writer, Photo gallery, Office
ユビキタスチャネル Windows Mobile, Zune, XBOX, Windows Media Center
リッチクライアント Windows Presentation Foundation
Web ページフレームワーク ASP.NET , ASP.NET MVC
Web サービスフレームワーク Windows Communication Foundation, ADO.NET Data Services
サービスロジック .NET Services
ファウンデーショナルサービスアダプター
LINQ , Entity Framework , ASP.NET Dynamic Data
データ/非構造化ストレージ SQL Server, SSDS, Azure Storage
ユーザー管理ソーシャルサービス
Windows Live
広告 AdCenter
検索 Live Search
Category Type Pattern
Application Structuring Architectural MVC
Browser Client User Experience
Design AJAX(RIA)
Implementation Predictive Fetch
Auto Complete
Partial Page Update
Web Services Design/Implementation RESTful Services
SOAP Messaging
Syndication (RSS & Atom)
Data Access Architectural Repository
Design/Implementation ORM
Foundational Services Architectural Adapter
Implementation Provider
Web サービスフレームワーク
ウィジェット
ブラウザー
AJAX
ブラウザプラグイン
Web アプリフレームワーク
ファウンデーショナルサービスアダプター
ユビキタスチャネル
サービスロジック
非構造化ストレージ
ユーザー管理
ソーシャルサービス
広告
検索
データ
RIA はこれを提供する…
- 非同期アクセス- 部分的なレンダリング- マルチメディアコンテンツの統合- DOMを多用するレンダリング- ネットワークの効果的な利用- インタラクティブなUI- ローカルリソースの活用
RIA パターン
Pattern category Patterns Brief summary
Ajax Predictive fetch Predict what will be the next move of the user, and retrieve and cache the data before user takes any action
Periodical refresh
Automatically updates the UI periodically without the full page postback
User Navigation Carousel Show only a selected few items at a time from a large set of items to utilize the limited real estate effectively
Breadcrumb Let users know their location in the website's hierarchical structure
Multi-media Integration
Thumbnail Provide miniature version of multi-media contents to browse quickly through a collection of contents
Zoom Provide users ability to zoom in on an image to view a details in a high resolution
Responsiveness Guesstimate Make a reasonable guess instead of requesting information from server to reduce the number of roundtrips.
Auto complete Display a list of suggested items that most closely match what the user has typed.
Presentation Viewer
Contextual Ads
<Slide Navigation Controls> | Notes
Embed Download + Favorites Tweet FriendFeed+ Recommend
Related Presentations By Topic Related Presentations By Author
Slide/Presentation User Comments
+ Comment
X
Site Search
Home Community Business AccessoriesMy ZoneBrowse Upload
Logo | Welcome <User> (Sign out) | Invite
Title Description
Title Description
Title Description
Title Description
Multi-Media Integration Partial Rendering
Partial Rendering
Auto CompleteAnimation
Either of the “Rich” UI elements required?
Static HTML
Multi-media content
NO
YES
Silverlight
rendering
NO
YES
ASP.NETAJAX
jQuery
Server interaction
ASP.NETAJAX
Simple
Complex
Visual pages
Data
RIA: テクノロジー選択
サービスとの対話
Retrieve Page or Data?
Controller
Page
Data
API
ASP.NET MVC -関心事の分離-クリーンなURL-テスト容易性- HTML 出力に対するコントロール
ASP.NET -インスタント開発-豊富なサーバーコントロール- MS テクノロジーとの融合
ASP.NET MVC -コードの再利用-クリーンなURL
WindowsCommunication Foundation
-プロトコルのコントロール-バインディングオプション-クリーンなURL
ADO.NET Data Services
-インスタント開発-データ駆動Web
Planet PPT Framework
ASP.NET MVC
SQL Server2008
BrowserController
Repository+
EntityFramework
View
ServiceImplementat
ion
jQueryASP.NET
AJAX
WCF Service Interface
Silverlight
Power PointDIA
WindowsMobile
Windows Live
AzureStorage
Provider
AdCenter
R2
Threat Modeling
http://www.microsoft.com/downloads/details.aspx?familyid=59888078-9DAF-4E96-B7D1-944703479451&displaylang=en
Threat ModelingThreats CountermeasuresXSS Encoding output texts
One-Click Attack Make the request that encapsulates the user action unique for each authenticated user
HTTP replay attack SSLNetwork Eavesdropping SSL or IPSECPassword brute Force Implement lockout policyRepudiation attack Implement proper and effective loggingFile Canonicalization Validate length of file names and verify regular expression on
the file name inputsDenial of Service Validate #of requests, file size
Implement proper exceptionsDon’t display detailed error messages to users
Forceful Browsing Authorization controlEncrypting data
Man in the middle attack SSL or IPSECSQL injection LINQ eliminates the possibilities of SQL injectionSession hijacking We don’t have to do this because all information we store in
the session is images.Response splitting Context sensitive encoding
Web Deployment Tool
http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1602
Planet PPT R2
Requirements R2
Scalable Social Services X
Scalable Storage – Presentations and Structured Data X
Scalable Operating Environment X
Usage Analytics X
Microsoft Ad Center/Atlas Integration X
Add-in for PowerPoint 2007 (Desktop Edition) X
Foundational Services
Data AccessContent Mgmt
User Mgmt Social SearchUsage
AnalyticsAdvertising
IP Services
.NET Framework
Service Interfaces/APIs
Windows Communication Foundation
Delivery Channels
Browser - ASP.NET MVC, ASP.NET AJAX, SilverLight
PC (PowerPoint 2007) - VSTO
Repository
Planet PPT R2
Implementation Architecture
Adapter
Tools
Expression
Visual Studio
Server Admin Tools
Popfly
Infrastructure - Cloud Platforms
Windows Azure SQL Data Services Live Services Ad Center/Atlas