Entity-Based Message Bus for Saas Integration

Total Page:16

File Type:pdf, Size:1020Kb

Entity-Based Message Bus for Saas Integration Entity-based Message Bus for SaaS Integration Yu-Jen John Sun Supervisor: Prof. Boualem Benatallah School of Computer Science and Engineering University of New South Wales Sydney, Australia A thesis submitted in fulfillment of the requirements for the degree of Masters of Science Sep 2015 Acknowledgments First of all, I would like to thank my supervisor Prof. Boualem Benatallah for this guidance and encouragement during my research. Without his support this work would not have been possible. I thank my co-authors, Dr. Moshe Chai Barukh and Dr. Amin Beheshti for their enjoyable collaborations. I would like to thank Moshe especially for his help in reviewing and editing our publishes. In addition, I would like to thank my fellow research colleagues for their kind encouragement and Denis Weerasiri, for giving me a lot of advices throughout the years. My final thanks go to my family for supporting me in pursuing an ad- vanced degree. I am especially grateful to my sister for her encouragement during my study in UNSW. ii Abstract The rising popularity of SaaS allows individuals and enterprises to leverage various services (e.g. Dropbox, Github, GDrive and Yammer) for everyday processes. Concequently, an enormous amount of Application Programming Interfaces (APIs) were generated since the demand of cloud services, allow- ing third-party developers to integrate these services into their processes. However, the explosion of APIs and the heterogeneous interfaces makes the discovery and integration of Web services a complex technical issue. More- over, these disparate services do not in general communicate with each other, rather used in an ad-hoc manner with little or no customizable process sup- port. This inevitably leads to “shadow processes”, often only informally man- aged by e-mail or the like. We propose a framework to simplify the integration of disparate services and effectively build customized processes. We propose a platform for man- aging API-related knowledge and a declarative language and model for com- posing APIs. The implementation of the proposed framework includes an Knowledge Graph for APIs called APIBase and an agile services integration platform, called: CaseWalls. We provide a knowledge-based event-bus for unified interactions between disparate services, while allowing process par- ticipants to interact and collaborate on relevant cases. iii Publications Sun, Y.J., Barukh, M.C., Benatallah, B., Beheshti S.M.R.: Scalable SaaS- based Process Customization with Case Walls, 13th International Conference on Service Oriented Computing (ICSOC 2015). iv Contents 1 Introduction 2 1.1 Background . .2 1.2 Motivation and Problems . .3 1.3 Contributions . .6 1.3.1 Knowledge Graph for APIs . .6 1.3.2 Declarative Language for Composing Integrated Pro- cess over APIs . .6 1.3.3 Event-based Process Management Platform . .7 1.4 Thesis Organization . .7 2 State of the Art 8 2.1 Introduction . .8 2.2 Interactions with an API . 12 2.2.1 API Design Methodology. 12 2.2.2 API Documentation. 16 2.2.3 API Testing. 17 2.2.4 API Programming Knowledge Re-Use. 18 2.3 Interactions between different API . 19 2.3.1 SOA & Microservices. 19 2.3.2 Process Automation. 21 v 2.3.3 Social BPM. 23 3 APIBase 25 3.1 Introduction . 25 3.2 API Knowledge Graph . 27 3.3 Architecture and Implementation . 31 3.3.1 Architecture Overview . 31 3.3.2 Graph Database Service . 33 3.3.3 APIBase Service . 36 3.3.4 Example . 41 3.4 Evaluation . 46 3.4.1 Experiment Setup . 47 3.4.2 Experiment Session . 47 3.4.3 Questionnaire . 49 3.4.4 Participant Groups . 50 3.4.5 Results . 50 3.5 Related Work . 52 3.5.1 API Documentation . 53 3.5.2 API Management . 54 3.5.3 Web-Services Repositories. 54 3.6 Conclusion . 55 4 Declarative Language for Composing Integrated Process over APIs 56 4.1 Introduction . 56 4.2 Knowledge-Reuse-driven and Declarative Case Definition Lan- guage . 59 4.2.1 Knowledge-Reuse Language . 59 vi 4.2.2 Declarative Case Definition Language . 60 4.2.3 Declarative Case Manipulation Language . 61 4.2.4 Illustrative Example . 63 4.3 Implementation . 65 4.3.1 Architecture . 65 4.3.2 Event Bus . 67 4.3.3 Case Orchestration Rules . 71 4.4 Evaluation . 73 4.5 Related Work . 76 4.6 Conclusion . 78 5 Conclusion and Future Work 80 5.1 Concluding Remarks . 80 5.2 Future Directions . 82 Bibliography . 82 1 Chapter 1 Introduction This chapter is organized as follows. In Section 1.1, we introduce the basic background. In Section 1.2, we outline the problem that we are addressing and discuss the motivation. In Section 1.3, we summarize our contributions. In Section 1.4 provides the organization of this thesis. 1.1 Background Traditional structured process-based systems increasingly prove too rigid amidst today’s fast-paced and knowledge-intensive environments. A large portion of processes, commonly described as “unstructured” or “semi-structured” processes, cannot be pre-planned and likely to be dependent upon the inter- pretation of human workers during process execution. On the other hand, there has been a plethora of tools and services (e.g., Web/mobile apps) to support workers with specific everyday tasks and enhanced collaboration. Software-as-a- Service (SaaS) is amongst the forefront of this technology. For instance, tools (henceforth referred to as “services”), such as: (i) Dropbox to store and share files online; (ii) Pivotal tracker to manage tasks and projects; 2 and (iii) Google Drive to edit and collaborate on spreadsheets. Workers of- ten need to access, analyze, as well as integrate data from various such cloud data services. At the same time, most services expose APIs (Application Programming Interfaces). APIs serve as the glue of online services and their interactions; bearing far-reaching ramifications. Social media already depend heavily on APIs, as do cloud services and open data sets. The spread of the Inter- net to ordinary devices (i.e. Internet of Things) will be facilitated through APIs. Much of the information we receive about the world will therefore be API-regulated. More specifically, the need to integrate user productivity services (i.e, SaaS applications, CRM tools, document and task management tools, together with social media frameworks) is vital - there are numerous pressing use-cases both in the enterprise and the consumer arena. However, while advances in APIs, Service Oriented Architectures (SOA) and Business Process Management (BPM) enable tremendous automation opportunities, new productivity challenges have also emerged: Most organizations still do not have the knowledge, skills, or expertise-at-hand to craft successful SaaS- enabled process customization strategies to take full advantage of automation opportunities. The integration of this is still mostly done through manual development, and even when leveraging existing APIs, it still requires con- siderable technical/programming skills. 1.2 Motivation and Problems To understand the challenges related to building integrated applications using APIs, we examine the following case-study: 3 Code Review & Development Cycle. Version Control Systems (VCS) are very common in software engineering - they help avoid collision and improve traceability. While it is important to find where the bug is introduced and revert it, peer review also helps to bring forward discovery of such bugs. Github is one of the most popular online open-source repositories for code. Likewise, Pivotal Tracker (PT) offers a good story-tracking system, to help the team keep track of their progress. To integrate these tools together, Github provides built-in integration via enabling to post commit messages that contains specific keywords to track and update the state of a story on PT. A typical workflow implementing such integrated process over Github and Pivotal Tracker APIs might look as follows: 1. Project Manager PM creates a Story and assigned to Engineer 2. Engineer starts working on the Story 3. Engineer completes programming task and pushes onto Github 4. Engineer finishes and delivers the Story 5.PM accepts/rejects the delivery Effectively, the PT integration provided by Github parses the commit messages looking for syntax in the form of: “#(story number) ”, such as: [Starts #12345, #23456] ... [Finishes #12345] ... [Delivers #12345]. If any such messages are detected, the corresponding action will be performed in PT. For example, if the engineer commit message contains [Finishes #12345], when Github receives this commit, it will automatically mark the story as finished in PT. This helps simplify the workflow by eliminating the otherwise manual work done within PT. Such typical integration method may lead to the following lim- itations: 4 Fixed workflow: While this inbuilt integration might work nicely to eliminate the manual creation, start, finish and delivery of a PT “story” | it provides little flexibility to adapt to different development cycles. For example, the notion of “continuous integration (CI)” is prominent in software engineer today. This calls for “continuous” testing whenever new changes are made, and in some cases even responsible for the building and deploying of the changes in some configurations. Therefore, if a particular development team decides to adopt CI, this would significantly change the semantics of the deliver action of a story in PT. This means, at Step 4, we may want to introduce additional steps such as: testing and deployment before closing this change. Unfortunately however, the current Github/PT integration would not apply to such development environments, [110]. Shadow Processes: To achieve the above result, it is thus likely the development team would integrate other non-related tools or even conduct the “code review” process manually. In fact, after a code commit on a feature branch, the review should then be initialized. After the review is completed, it should then be merged into the main repository (or master branch).
Recommended publications
  • Jeffrey Scudder Google Inc. March 28, 2007 Google Spreadsheets Automation Using Web Services
    Jeffrey Scudder Google Inc. March 28, 2007 Google Spreadsheets Automation using Web Services Jeffrey Scudder Google Inc. March 28, 2007 2 Overview What is Google Spreadsheets? • Short Demo What is the Google Spreadsheets Data API? • Motivations (Why an API?) • Protocol design • Atom Publishing Protocols • GData • List feed deconstructed How do I use the Google Spreadsheets Data API? • Authentication • Longer Demo Questions 3 What is Google Spreadsheets? Let’s take a look 4 What is Google Spreadsheets? Why not ask why • Spreadsheets fits well with our mission… – “Organize My Information… and… – Make it Accessible and Useful… – With whomever I choose (and nobody else, thanks)” • In other words…. – Do-it-yourself Content Creation – Accepted/Familiar Interface of Spreadsheets and Documents – Accessibility from anywhere (…connected) – Easy-to-use Collaboration – Do-it-yourself Community Creation 5 What is the Google Spreadsheets Data API? Motivations • Foster development of specific-use apps • Allow users to create new UIs • To extend features offered • To integrate with 3rd party products • To offer new vertical applications 6 What is the Google Spreadsheets Data API? Protocol design based on existing open standards • Deciding on design principles – Use a RESTful approach – Reuse open standards – Reuse design from other Google APIs • The end result – REST web service based on GData – Data is in Atom XML and protocol based on the Atom Publishing Protocol (APP) – GData is based on Atom and APP and adds authentication, query semantics, and more
    [Show full text]
  • Query Expansion Based on Crowd Knowledge for Code Search
    IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 9, NO. X, XXXXX 2016 1 Query Expansion Based on Crowd Knowledge for Code Search Liming Nie, He Jiang, Zhilei Ren, Zeyi Sun, and Xiaochen Li Abstract—As code search is a frequent developer activity in software development practices, improving the performance of code search is a critical task. In the text retrieval based search techniques employed in the code search, the term mismatch problem is a critical language issue for retrieval effectiveness. By reformulating the queries, query expansion provides effective ways to solve the term mismatch problem. In this paper, we propose Query Expansion based on Crowd Knowledge (QECK), a novel technique to improve the performance of code search algorithms. QECK identifies software-specific expansion words from the high quality pseudo relevance feedback question and answer pairs on Stack Overflow to automatically generate the expansion queries. Furthermore, we incorporate QECK in the classic Rocchio’s model, and propose QECK based code search method QECKRocchio. We conduct three experiments to evaluate our QECK technique and investigate QECKRocchio in a large-scale corpus containing real-world code snippets and a question and answer pair collection. The results show that QECK improves the performance of three code search algorithms by up to 64 percent in Precision, and 35 percent in NDCG. Meanwhile, compared with the state-of-the-art query expansion method, the improvement of QECKRocchio is 22 percent in Precision, and 16 percent in NDCG. Index Terms—Code search, crowd knowledge, query expansion, information retrieval, question & answer pair Ç 1INTRODUCTION ODE search is a frequent developer activity in software Obviously, it is not an easy task to formulate a good query, Cdevelopment practices, which has been a part of soft- which depends greatly on the experience of the developer and ware development for decades [47].
    [Show full text]
  • Google Cheat Sheets [.Pdf]
    GOOGLE | CHEAT SHEET Key for skill required Novice This two page Google Cheat Sheet lists all Google services and tools as to understand the Intermediate well as background information. The Cheat Sheet offers a great reference underlying concepts to grasp of basic to advance Google query building concepts and ideas. Expert CHEAT SHEET GOOGLE SERVICES Google domains google.co.kr Google Company Information google.ae google.kz Public (NASDAQ: GOOG) and google.com.af google.li (LSE: GGEA) Google AdSense https://www.google.com/adsense/ google.com.ag google.lk google.off.ai google.co.ls Founded Google AdWords https://adwords.google.com/ google.am google.lt Menlo Park, California (1998) Google Analytics http://google.com/analytics/ google.com.ar google.lu google.as google.lv Location Google Answers http://answers.google.com/ google.at google.com.ly Mountain View, California, USA Google Base http://base.google.com/ google.com.au google.mn google.az google.ms Key people Google Blog Search http://blogsearch.google.com/ google.ba google.com.mt Eric E. Schmidt Google Bookmarks http://www.google.com/bookmarks/ google.com.bd google.mu Sergey Brin google.be google.mw Larry E. Page Google Books Search http://books.google.com/ google.bg google.com.mx George Reyes Google Calendar http://google.com/calendar/ google.com.bh google.com.my google.bi google.com.na Revenue Google Catalogs http://catalogs.google.com/ google.com.bo google.com.nf $6.138 Billion USD (2005) Google Code http://code.google.com/ google.com.br google.com.ni google.bs google.nl Net Income Google Code Search http://www.google.com/codesearch/ google.co.bw google.no $1.465 Billion USD (2005) Google Deskbar http://deskbar.google.com/ google.com.bz google.com.np google.ca google.nr Employees Google Desktop http://desktop.google.com/ google.cd google.nu 5,680 (2005) Google Directory http://www.google.com/dirhp google.cg google.co.nz google.ch google.com.om Contact Address Google Earth http://earth.google.com/ google.ci google.com.pa 2400 E.
    [Show full text]
  • Opensocialに見る Googleのオープン戦略 G オ 戦略
    OpenSocialに見る Googleのオオ戦略ープン戦略 Seasar Conference 2008 Autumn よういちろう(TANAKA Yoichiro) (C) 2008 Yoichiro Tanaka. All rights reserved. 08.9.6 1 Seasar Conference 2008 Autumn Self‐introduction • 田中 洋郎洋一郎(TANAKA Yoichiro) – Mash up Award 3rd 3部門同時受賞 – Google API Expert(OpenSocial) 天使やカイザー と呼ばれて 検索 (C) 2008 Yoichiro Tanaka. All rights reserved. 08.9.6 2 Seasar Conference 2008 Autumn Agenda • Impression of Google • What’s OpenSocial? • Process to open • Google now (C) 2008 Yoichiro Tanaka. All rights reserved. 08.9.6 3 Seasar Conference 2008 Autumn Agenda • Impression of Google • What’s OpenSocial? • Process to open • Google now (C) 2008 Yoichiro Tanaka. All rights reserved. 08.9.6 4 Seasar Conference 2008 Autumn Services produced by Google http://www.google.co.jp/intl/ja/options/ (C) 2008 Yoichiro Tanaka. All rights reserved. 08.9.6 5 Seasar Conference 2008 Autumn APIs & Developer Tools Android Google Web Toolkit Blogger Data API Chromium Feedbunner APIs Gadgets API Gmail Atom Feeds Google Account Google AdSense API Google AdSense for Audio Authentication API Google AdWords API Google AJAX APIs Google AJAX Feed API Google AJAX LAnguage API Google AJAX Search API Google Analytics Google App Engine Google Apps APIs Google Base Data API Google Book Search APIs Google Calendar APIs and Google Chart API Google Checkout API Google Code Search Google Code Search Data Tools API GlGoogle Custom ShSearch API GlGoogle Contacts Data API GlGoogle Coupon FdFeeds GlGoogle DkDesktop GdGadget GlGoogle DkDesktop ShSearch API APIs Google Documents List Google
    [Show full text]
  • Leveraging Social Coding Websites DISSERTATION Submitted in Partial
    UNIVERSITY OF CALIFORNIA, IRVINE Beyond Similar Code: Leveraging Social Coding Websites DISSERTATION submitted in partial satisfaction of the requirements for the degree of DOCTOR OF PHILOSOPHY in Software Engineering by Di Yang Dissertation Committee: Professor Cristina V. Lopes, Chair Professor James A. Jones Professor Sam Malek 2019 c 2019 Di Yang DEDICATION To my loving husband, Zikang. ii TABLE OF CONTENTS Page LIST OF FIGURES vi LIST OF TABLES viii ACKNOWLEDGMENTS ix CURRICULUM VITAE x ABSTRACT OF THE DISSERTATION xiv 1 Introduction 1 1.1 Overview . .1 1.1.1 Background . .1 1.1.2 Research Questions . .2 1.2 Thesis Statement . .3 1.3 Methodology and Key Findings . .3 2 Usability Analysis of Stack Overflow Code Snippets 6 2.1 Introduction . .6 2.2 Related Work . .9 2.3 Usability Rates . 11 2.3.1 Snippets Processing . 12 2.3.2 Findings . 15 2.3.3 Error Messages . 18 2.3.4 Heuristic Repairs for Java and C# Snippets . 19 2.4 Qualitative Analysis . 24 2.5 Google Search Results . 27 2.6 Conclusion . 30 3 File-level Duplication Analysis of GitHub 32 3.1 Introduction . 33 3.2 Related Work . 37 3.3 Analysis Pipeline . 40 3.3.1 Tokenization . 40 3.3.2 Database . 41 iii 3.3.3 SourcererCC . 42 3.4 Corpus . 43 3.5 Quantitative Analysis . 45 3.5.1 File-Level Analysis . 45 3.5.2 File-Level Analysis Excluding Small Files . 47 3.6 Mixed Method Analysis . 48 3.6.1 Most Duplicated Non-Trivial Files . 49 3.6.2 File Duplication at Different Levels .
    [Show full text]
  • List of Search Engines
    A blog network is a group of blogs that are connected to each other in a network. A blog network can either be a group of loosely connected blogs, or a group of blogs that are owned by the same company. The purpose of such a network is usually to promote the other blogs in the same network and therefore increase the advertising revenue generated from online advertising on the blogs.[1] List of search engines From Wikipedia, the free encyclopedia For knowing popular web search engines see, see Most popular Internet search engines. This is a list of search engines, including web search engines, selection-based search engines, metasearch engines, desktop search tools, and web portals and vertical market websites that have a search facility for online databases. Contents 1 By content/topic o 1.1 General o 1.2 P2P search engines o 1.3 Metasearch engines o 1.4 Geographically limited scope o 1.5 Semantic o 1.6 Accountancy o 1.7 Business o 1.8 Computers o 1.9 Enterprise o 1.10 Fashion o 1.11 Food/Recipes o 1.12 Genealogy o 1.13 Mobile/Handheld o 1.14 Job o 1.15 Legal o 1.16 Medical o 1.17 News o 1.18 People o 1.19 Real estate / property o 1.20 Television o 1.21 Video Games 2 By information type o 2.1 Forum o 2.2 Blog o 2.3 Multimedia o 2.4 Source code o 2.5 BitTorrent o 2.6 Email o 2.7 Maps o 2.8 Price o 2.9 Question and answer .
    [Show full text]
  • Portfolio: a Search Engine for Finding Functions and Their Usages
    Portfolio: A Search Engine for Finding Functions and Their Usages Collin McMillan Mark Grechanik Denys Poshyvanyk Qing Xie, Chen Fu College of William & Mary Accenture and UIC College of William & Mary Accenture Technology Lab Williamsburg, VA 23185 Chicago, IL 60601 Williamsburg, VA 23185 Chicago, IL 60601 [email protected] [email protected] [email protected] [email protected] ABSTRACT Consider the situation where a programmer wants to accomplish In this demonstration, we present a code search system called Port- the complete task of editing and saving a PDF file. He or she may edit save pdf file folio that retrieves and visualizes relevant functions and their us- enter the query “ ” into a search engine. ages. We will show how chains of relevant functions and their us- Existing source code search engines would return some functions ages can be visualized to users in response to their queries. that create PDF files, some functions that write data in the PDF file format, and some functions that manipulate PDF files. Typi- Categories and Subject Descriptors cally, programmers investigate these functions to determine which D.2.13 [Reusable Libraries]: Reusable Libraries of them are relevant and to determine how to compose the concepts in these functions into complete tasks. Unfortunately, the results General Terms from existing engines do not show to programmers how isolated Algorithms, Experimentation functions interact in the context of other functions, despite the fact Keywords that the programmer wants to see the code for the whole task of how to edit PDF data and save it. A search engine can support pro- source code search engines, information retrieval grammers efficiently if it incorporates in its user ranking how these 1.
    [Show full text]
  • Programming the Cloud: the Internet As Platform
    Programming the Cloud: the Internet as Platform Gregor Hohpe Software Engineer www.EnterpriseIntegrationPatterns.com © 2008 Google, Inc. All rights reserved, Who’s Gregor? • Distributed systems, asynchronous messaging, service-oriented architectures • MQ, MSMQ, JMS, ESB’s • Software engineer at Google • Book: Enterprise Integration Patterns •Site: www.eaipatterns.com • Write code every day. Share knowledge through patterns. • “Starbucks does not use 2-phase commit” featured in Joel Spolsky’s Best Software Writing. © 2008 Google, Inc. All rights reserved, 2 1 Internet as a Platform: The Good Falling cost of Ubiquitous Democratized storage and broadband tools of computing connectivity production power © 2008 Google, Inc. All rights reserved, 3 Internet as a Platform: The Challenges Architect’s Dream Developer’s Nightmare •Loosely coupled •NO Call Stack •Extensible •NO Transactions •Standards-based •NO Promises •Fault tolerant •NO Certainty •Unlimited computing •NO Ordering power Constraints •Ubiquitous © 2008 Google, Inc. All rights reserved, 4 2 Isn’t This What Distributed Transactions Are For? •Require coordinator •Even 2 Phase Commit has windows of uncertainty •Not practical for long running interactions • Locks not practical / economical • Isolation not possible / practical •Usually not supported •Don’t scale “Life“Life BeyondBeyond DistributedDistributed TransactionsTransactions –– anan Apostate’sApostate’s Opinion”Opinion” --Pat Helland © 2008 Google, Inc. All rights reserved, 5 Still An Issue With HTTP •Hardware failure •Network
    [Show full text]
  • Google Annual Stockholders Meeting 2007
    Google, Inc. Annual Stockholders Meeting 2007 Eric: Good afternoon and we are delighted to have you all come to Google. I hope you enjoyed lunch. Female: Yes! Eric: Yes. The lunches are worth coming to Google for. And it’s a delight to have you all here. First thing is I noticed we have some people in the back who are standing. We have a wonderful overflow room downstairs which has all the same high quality food. So if you get tired of standing, please feel free to go downstairs. You can come right back up, no problem. What I wanted to do is first we’re going to have just a brief comment from myself and then we’re going to have David Drummond, who is our General Counsel, go ahead and conduct our formal meeting. And then after that we’ll have a short talk by myself and then some Q&A from everybody. I wanted to begin by introducing someone who is the best business technology partner that you could ever have in the world and I am fortunate to have him as my business partner, Larry Page. And Sergey’s out of town and is the other of the troika and is just unbelievable. I also wanted to take a minute to acknowledge that we have some of our very, very distinguished Board of Directors here. Of course, Larry and myself, but the ones that really do the work: Art Levinson, Paul Otellini and a number of others that I think are on the way. I wanted to take a special minute to acknowledge one board member for whom this is the last official time point in their board service and that’s Mike Morris.
    [Show full text]
  • "Olvidos" De Oncuba
    Síguenos en: www.ahora.cu www.facebook.com/periodico.ahora https://twitter.com/ahoracu ¡@hora! Holguín, 1 de julio de 2014 No. 628 Revelan detalles sobre la visita de ejecutivos de Google y los "olvidos" de OnCuba Por Miguel Fernández Martínez / Tomado del blog Cuba la isla infinita La visita que realizan por estos días a La Habana Eric Schmidt, Jared Cohen, Brett Perlmutter y Dan Keyserling, al- tos ejecutivos de Google Inc., ha le- vantado curiosidades y suspicacias en algunos medios digitales y jóvenes pe- riodistas. La presencia en Cuba de Schmidt, presidente ejecutivo de Google, una empresa transnacional estadouniden- se, especializada en productos y ser- vicios relacionados con Internet, soft- ware, dispositivos electrónicos y otras tecnologías, y su visita a la Universidad de Ciencias Informáticas (UCI) está generando especulaciones de todo tipo. Entre las preocupaciones destaca- das en el sitio digital OnCuba alrede- dor de la visita, están el supuesto si- lencio de la prensa cubana (como si la visita fuera todo un show o si los vi- da de experiencia académica/comer- El criminal bloqueo económico, sitantes fueran tan relevantes como cial/educativa de los empresarios; ni comercial y financiero de Estados para ocupar titulares), la solapada au- el intento de pasar por alto su pre- Unidos contra Cuba, establecido en torización de las autoridades cubanas sencia; ni el visto bueno de las autori- 1962, restringe la mayoría de las acti- para que pudieran visitar la UCI y si dades cubanas para que Schmidt y sus vidades comerciales, económicas o fi- detrás de la visita hay algo más que la acompañantes visitaran los sitios es- nancieras entre los dos países, e im- publicitada intención de "promover cogidos".
    [Show full text]
  • Google Labs Code Search James Bidwell, Amgen Ltd, Uxbridge, UK
    PhUSE 2010 CC08 Let me ‘Google’ that for you - Google Labs Code Search James Bidwell, Amgen Ltd, Uxbridge, UK ABSTRACT Google Labs Code Search is a free beta product from Google which debuted in Google Labs in 2006, allowing web users to search for open-source code on the Internet. Despite opinions to the contrary, this product can be utilised very effectively for finding SAS code snippets and syntax examples. Depending on how you personally learn, remember or improve your SAS knowledge, Google Labs Code Search should at least be tried once, and may turn out to be your number one SAS code resource. This paper will present the advantages, tips, tricks and annoyances of using the search engine on a daily basis for SAS code development. INTRODUCTION Google Labs is a website demonstrating and testing new Google projects. Widely used products which have graduated from the labs in the past include Google Maps, Google Suggest and Google Desktop. Google Labs Code Search is a free beta product from Google, allowing web users to search for open-source code on the Internet. This product can be used very effectively for finding SAS code snippets and syntax examples. Depending on how you personally learn, remember or improve your SAS knowledge, Google Labs Code Search should at least be tried once, and may turn out to be your number one SAS resource. The power of the search technology can identify certain syntax (e.g. % & = ) that would otherwise be ignored when using other online resources such as the SAS OnlineDoc Manual and the standard Google Search.
    [Show full text]
  • Download Here the PDF “Brand As a System: the Local Meets the Global”
    Brand as a System: The Local meets the Global Fang Wan, Ph.D. Professor of Marketing Ross Johnson Research Fellow Asper School of Business University of Manitoba, Canada The 5th International Research Symposium on Branding in Emergent Markets, Dec 10, Nanjing 万方 Fang Wan, Ph.D. 万方博士, ,博士导师 品牌中国规划院理事(国家级智库),品牌思为俱乐部联合创始人 Director of International Executive Program, 国际高管培训项目总监 Professor of Marketing 市场营销教授 Ross Johnson Research Fellow 罗斯约翰逊研究员 Asper School of Business艾斯伯商学院 University of Manitoba, Canada 加拿大曼尼托巴大学 希伯来大学,泰国UTCC,中欧商学院,新加坡国立,南洋理工,清华,香港中文, 香港理工,河北理工,陕西理工,西南财大,讲座, 客座海外教授; Hebrew University,. UTCC Thailand, CEIBS, National University of Singapore, Nanyang Technological University, Hong Kong Polytech University, Qinghua, Chinese U of Hong Kong, Hebei Technological University, Shannxi Technological University, SWUFE, Managerial Hat . Brand China Planning and Strategy Institute 品牌中国规划院理事,海外部长,中国 . Executive Committee Member of Einstein Legacy Project 爱因斯坦品 牌执行董事, 以色列 . Founder, Book Club of Chinese Chamber of Commerce, 加拿大 华商会读书会创始人 . Co-founder, Fella Club, 成都FELLA学社联合创始人 . Co-founder, Branding Thought and Action, 品牌思为俱乐部联合 创始人,清华大数据协会 我的穿梭 My Journey 品牌实战 品牌理论 Brand Practice Brand Theory 品牌实战家 品牌学者 Coach Researcher 西方 中国 China West 世界 Global Interbrand: Top 100 Global Brands 2015 5 6 7 8 Part of My job during the past few years: Decoding/coaching Learning/imitation/emulation/Innovation 9 洞见 insight 真相 truth 开脑洞 open up mind 新的视角 new 多元视角 diverse perspectives 整合,运用, 落地 My Integrate, landing Intentions: 执行,跟踪, 反思 我的框架 Execute, track, reflect Three Anecdotes Emulation Imitation Learning of what? 11 Dove Real Beauty Models Functional Defining Debunking Self Evolution of Beginning Beauty Myths Acceptance Evolution Authentic Happy Me: Dove Ideal Me: Mainstream 99% 14 What branding is NOT? 15 Visible and Invisible Facets of Branding Brand artifacts: Customers Visible e.g., logos, graphics, Choice/purchase Marketing tactics Internal brand Employees: processes: their endorsement corporate culture Invisible Drivers Mindset of leaders: Brand Soul: long vs.
    [Show full text]