营商环境
外包,带给湖北多少机会
发布时间:2011-08-30
湖北日报讯 记者 周 芳 通讯员 邓 亮 连 华
是不是除了核心业务,什么都能外包?
答案毫无疑问是肯定的。
纵观世界,由单一跨国公司处理整个生产过程的旧生产模式渐行渐远,越来越多的欧美公司开始将其中的流程外包到印度、俄罗斯、中国等国家。
这正是外包的精髓理念。用更专业的人才,做自己的非主营业务。任何可以数字化的工作,任何可以被分解的价值链都可以将一部分业务外包出去。
服务外包,正大刀阔斧地重塑世界经济格局、挑战传统经济发展模式。
紧追大潮,湖北提出大力发展服务外包产业思路。
外包,将带给湖北多少机会?
体验“世界办公室”
“我正在帮美国客户分析问题。”甲骨文全球技术支持中心员工Dongwei一边写帖子,一边告诉记者。
前不久,记者随省政府代表团参观了这家位于大连市软件园的跨国公司。
单看表面,和普通写字楼没有区别。一个偌大的办公室被分隔成数十个小间,每个小间一台电脑,一部可视电话,一张张年轻的面孔专注地盯着显示屏。
Dongwei说,他们正是通过网络、电话和世界各地的客户联系,项目完成后网络交付。输入密码,Dongwei还可以登录和客户共享的技术支持平台,随时解答客户疑问,无需在两个国家间跑来跑去。“这就是服务外包与其他行业的区别,网络技术创造了一个可以将知识、工作自由传输的平台。借助这一平台,我们将各种任务分解、分配、生产并最后组合到一起,完成国际订单。”Dongwei介绍。
同样的模式已经走进武汉。
踏访武汉光谷软件园,一栋栋静谧的写字楼里,聚集着IBM、惠普、传神、光庭、博彦、软通等150多家外包企业,2万多名软件工程师在各自的方寸之地与世界联通。
少了“世界工厂”机器轰鸣,“世界办公室”静悄悄创造财富传奇。
GDP的绿色引擎
走在大连软件园,跨国公司的标志琳琅满目。
对此,该园区负责人如数家珍:通用电气、微软、戴尔、甲骨文、索尼、埃森哲……
这些公司的共同选择是,把其在亚洲地区的后台支持工作、软件研发工作设在大连。
一座城市的发展路径由此改变。产业规模从2亿元到506亿元,从业人员从1000人到8万人,过去10年间,大连服务外包产业增长200多倍,成为该市增速最快的产业。
这样的发展速度,在传统产业不可想象。
将承接服务外包发挥到极致的印度,更是书写了外包传奇。据统计,去年印度软件和信息服务行业年产值800多亿美元,收入超过10亿美元的企业9家。
意义不止于量的扩张。大连市委书记夏德仁说,大连试图通过发展软件和服务外包产业,走一条低耗能、无污染、高产出、高科技密度、高信息密度的产业道路。
这条路意义深远。参观大连软件园,湖北代表团深有感触。省商务厅副厅长袁亚杰说,服务外包是劳动密集型、知识密集型产业,承接国际服务业、发展服务外包产业正是调整产业结构、转变经济增长方式、发展绿色经济的一个重要选择。
“中国服务外包交付中心”前景可期
1.65万亿至1.8万亿美元!
在最近举行的第九届中国国际软件和信息服务交易会上,商务部部长助理仇鸿透露,物联网作为又一个万亿元级别的产业将产生千亿元级别的服务外包,预计到2020年,全球潜在的服务外包市场需求将达到1.65万亿至1.8万亿美元。
巨大的外包“蛋糕”,散发着诱人的芬芳。“孩子,去做你的作业,别忘了中国人或印度人正对你的工作岗位虎视眈眈。”正如美国畅销书《世界是平的》作者托马斯·弗里德曼在书中所言:“在平坦的世界里,没有所谓的美国人的工作,任何人只要有能力,都可以参与竞争。与以往不同的是,不论这个人在世界的哪个角落,只要他是最好的、最聪明的、最有生产力的或者成本最低的,这个工作就非他莫属。”
看准机遇,越来越多的中国城市渴望借鉴印度的成功模式。武汉、成都等21个城市被商务部授予中国服务外包示范城市称号。
竞争激烈,武汉如何定位?“北京、上海等一线城市将发展重点放在服务外包的前端销售与营销上,武汉则把发展重点放在后端运营上,建设中国服务外包交付中心。”武汉市商务局总经济师兰岚说。
眼下,尽管遭遇人才的现实瓶颈,看准人才的潜在优势,仍有不少外包企业选择落户武汉。
今年上半年,世界第二大航运公司瑞士地中海航运公司入驻武汉,成立全球首个信息数据处理中心;台湾纬创公司在武汉东湖高新区设立软件开发中心,研究云计算;药业巨头康明斯拟在武汉建立东亚数据共享中心;著名国际会计师事务所普华永道拟在武汉设立财务服务中心。
据省商务厅统计,全省共有服务外包企业313家,产业总收入近300亿元。
“人才优势若能转化成发展优势,湖北服务外包前景不可限量!”袁亚杰说。
FreeMarker template error (DEBUG mode; use RETHROW in production!):
Java method "com.jltech.utils.WebFreemarkerUtils.getUrl(String)" threw an exception when invoked on com.jltech.utils.WebFreemarkerUtils object "com.jltech.utils.WebFreemarkerUtils@644d4714"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign messageUrl = utils.getUrl("zx... [in template "main/_footer.ftlh" at line 1, column 1]
- Reached through: #include "./_footer.ftlh" [in template "main/cont_news.ftlh" at line 83, column 7]
----
Java stack trace (for programmers):
----
freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...]
at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:292)
at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:264)
at freemarker.ext.beans.OverloadedMethodsModel.exec(OverloadedMethodsModel.java:66)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.Assignment.accept(Assignment.java:134)
at freemarker.core.Environment.visit(Environment.java:344)
at freemarker.core.Environment.visit(Environment.java:350)
at freemarker.core.Environment.include(Environment.java:3139)
at freemarker.core.Include.accept(Include.java:171)
at freemarker.core.Environment.visit(Environment.java:344)
at freemarker.core.Environment.visit(Environment.java:350)
at freemarker.core.Environment.process(Environment.java:323)
at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:447)
at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:351)
at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:302)
at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:181)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:314)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1438)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:610)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:392)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:321)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:266)
at com.jltech.core.interceptor.MyInterceptor.preHandle(MyInterceptor.java:187)
at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:146)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1084)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: com.jltech.core.exception.JlRuntimeException: 没有找到对应的路由缓存项
at com.jltech.utils.cache.RouterCacheUtil.getAccessRouter(RouterCacheUtil.java:129)
at com.jltech.utils.WebFreemarkerUtils.getUrl(WebFreemarkerUtils.java:320)
at com.jltech.utils.WebFreemarkerUtils.getUrl(WebFreemarkerUtils.java:330)
at jdk.internal.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1634)
at freemarker.ext.beans.ReflectionCallableMemberDescriptor.invokeMethod(ReflectionCallableMemberDescriptor.java:56)
at freemarker.ext.beans.MemberAndArguments.invokeMethod(MemberAndArguments.java:51)
at freemarker.ext.beans.OverloadedMethodsModel.exec(OverloadedMethodsModel.java:62)
... 87 more