Title: Building Blocks: Looking Ahead
1Blackboard Building Blocks
Looking Ahead
Dan McFadyen, Tracy Engwirda, Tom Joyce
Saturday, November 14, 2009
2Where Weve Been
- 6th Generation Product
- Niche, small scale app to mission critical,
enterprise-wide application - An emerging vision
3Where We Are
- API is stable
- 6.0 is the baseline for development
- Weve seen the problems and know whats important
moving forward - Growing developer community
- Just look around
- The vision becomes reality
4Where Were Going
- Infrastructure Updates
- Database support
- Operating system support
- JDK support
- Embedded technologies
- Tomcat upgrade (Servlet 2.3/JSP 1.2)
5Where Were Going
BbPersistenceManager pm BbServiceManager.getPer
sistenceService().getDbPersistenceManager() Con
tentDbLoader contentLoader ContentDbLoader.Defau
lt.getInstance() String contentIdStr
request.getParameter("folderId") Id folderId
pm.generateId( Content.DATA_TYPE, contentIdStr
) Content folder contentLoader.loadById(
folderId )
- Breadth
- Expose more functionality across subsystems
- Depth
- Expose more functionality within subsystems
- Ease of Use
- Simpler, more direct access to functions
- Methods that encapsulate deeper logic
String folderIdStr request.getParameter(
folderId ) Content folder (Content)Id.genera
teId( Content.DATA_TYPE, folderIdStr
).loadObject()
6Where Were Going
- Asynchronous processing
- As B2 tools become ubiquitous, many tasks need to
become decoupled from user interface events - E.g., should a user wait for 12 tools to handle a
grade book event?
7Where Were Going
- Event Infrastructure
- True events that allow extensions to get
notified of data change events - User, course, enrollment synchronization
- Data reconciliation
- Course Copy
- Content Copy
8Where Were Going
- Real-time logic extensibility
- Data transformation
- Archive/restore/export/import
- Delegated logic
- Extension decides rendering criteria
9Where Were Going
- Workflow hooks
- A step beyond events
- Extensions can integrate seamlessly into
administrative workflows - User creation
- Course creation
- Enrollment
- Synchronous
- Affect transaction outcome
10Where Were Going
- Licensing and Access Control
- Exposure of the Blackboard license API and model
- Extension of the model to support
extension-provided license criteria - API to standardize checks
11Heterogeneous Development
- CLR/.NET APIs (server)
- Web Services (server and client)
- Any language that can bind to a Web Service
- Type-safe binding via stubs (generated from WSDL)
- Dynamic binding via standardized APIs (JAX-RPC)
- This is possible today tell us what you want to
see (or just build it and tell us about it)
12Cartridge Integration
- Better introspection of packages to get custom
data types - Workflow to better facilitate getting the right
extension into the system - Integrated mechanism to say, Install this
Building Block now - but in a way that wont make administrators
nervous
13Storage Solutions
- Current model requires limiting storage decisions
to remain portable - APIs to store arbitrary data in managed locations
that are honored by import/export - Potentially opening and/or customizing the schema
14Internationalization
- Phase I Support the data
- Phase II Support localization
- Extensions will require locale matching on
install - Phase III Support multiple locales
- Locale matching gets more sophisticated
- API to interact with locales at user and course
levels
15Building Blocks as Enablers
- Filling in feature gaps
- Architecture changes are expensive features are
less so - Can provide adaptor layer for standards support
16Building Blocks and Blackboard
- The new product strategy aims to leverage
Building Blocks for our own releases - Smaller, lower risk platform upgrades
- Application Packs
- Deployed via Building Blocks, where possible
- Where its not possible, the platform will be
enhanced - More manageable upgrades, both for Blackboard and
customers
17Building Blocks and Blackboard
- Common functionality and framework across
products - Learning System
- Portal System
- Content System
- Knowledge on one will transfer to the others
18Thank You
Demos to Follow gt